QT_7(菜单栏、工具栏、状态栏、资源文件的添加)

菜单栏和工具栏在这里插入图片描述

在此处进行代码演示(相关理论在代码处有注释):
MainWindow.cpp

#include "mainwindow.h"
#include<QMenuBar>
#include<QToolBar>
#include<QPushButton>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    
    
    resize(600,400);
    //创建菜单栏
    //菜单栏只有一个
    QMenuBar *bar=menuBar();
    //将菜单栏放入窗口中
    setMenuBar(bar);
    //创建菜单,等号左半部分不要也行,就是它会产生返回值
    QMenu *fileMenu= bar->addMenu("文件");
    QMenu *file= bar->addMenu("编辑");
    //创建菜单项,等号左半部分可以不要,为了下面工具栏的演示才加上的
    QAction * newAction=fileMenu->addAction("新建");
        fileMenu->addAction("编辑啥啊");
    //添加分隔线
    fileMenu->addSeparator();



    //工具栏;工具栏可以有多个
    QToolBar *toolbar=new QToolBar(this);
    addToolBar(Qt::LeftToolBarArea,toolbar);
    //后期设置,只允许左右停靠
    toolbar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
    //设置浮动
    toolbar->setFloatable(false);
    //设置移动(总开关,如果不能移动的话,那浮动也会失效)
    toolbar->setMovable(false);

    //工具栏中设置内容
    //工具栏处的新建和菜单项中的新建功能是是共用的
    toolbar->addAction(newAction);
    //添加分割线
    toolbar->addSeparator();

    //工具栏中添加一些控件
    QPushButton *btn=new QPushButton("A",this);
    toolbar->addWidget(btn);
}

MainWindow::~MainWindow()
{
    
    
}

注:
在心间项目的时候要选择一个空文件夹,然后再选择父类的时候选择MainWindow那个,不然使用menubar会报错。

状态栏

在此处进行代码演示(相关理论在代码处有注释):
MainWindow.cpp

#include "mainwindow.h"
#include<QMenuBar>
#include<QToolBar>
#include<QPushButton>
#include<QLabel>
#include<QStatusBar>
#include<QDockWidget>
#include<QTextEdit>


MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    
    
    resize(600,400);
    //创建菜单栏
    //菜单栏只有一个
    QMenuBar *bar=menuBar();
    //将菜单栏放入窗口中
    setMenuBar(bar);
    //创建菜单,等号左半部分不要也行,就是它会产生返回值
    QMenu *fileMenu= bar->addMenu("文件");
    QMenu *file= bar->addMenu("编辑");
    //创建菜单项,等号左半部分可以不要,为了下面工具栏的演示才加上的
    QAction * newAction=fileMenu->addAction("新建");
        fileMenu->addAction("编辑啥啊");
    //添加分隔线
    fileMenu->addSeparator();
    //工具栏;工具栏可以有多个
    QToolBar *toolbar=new QToolBar(this);
    addToolBar(Qt::LeftToolBarArea,toolbar);
    //后期设置,只允许左右停靠
    toolbar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
    //设置浮动
    toolbar->setFloatable(false);
    //设置移动(总开关,如果不能移动的话,那浮动也会失效)
    toolbar->setMovable(false);

    //工具栏中设置内容
    //工具栏处的新建和菜单项中的新建功能是是共用的
    toolbar->addAction(newAction);
    //添加分割线
    toolbar->addSeparator();

    //工具栏中添加一些控件
    QPushButton *btn=new QPushButton("A",this);
    toolbar->addWidget(btn);

    //状态栏,最多只能有一个
    QStatusBar *stbar=statusBar();
    //设置到窗口中
    setStatusBar(stbar);
    //在状态栏放标签控件
    QLabel *label=new QLabel("提示信息",this);
    stbar->addWidget(label);
    //提示信息放到右侧
    QLabel *label2=new QLabel("右侧提示信息",this);
    stbar->addPermanentWidget(label2);
    //铆接部件(浮动窗口),可以有多个
    QDockWidget *dockWidget=new QDockWidget("浮动",this);
    addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
    //设置后期停靠区域,只允许上下
    dockWidget->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);

    //设置中心部件,只能一个
    QTextEdit *edit=new QTextEdit(this);
    setCentralWidget(edit);
}

MainWindow::~MainWindow()
{
    
    
}

资源文件的添加

重新创建一个新项目,在创建新项目的过程中不要出去ui的选项,选中按各选项,之后双击下图选中的选项,然后就可以在“设计“界面进行设计。
在这里插入图片描述
之后可以在其中进行拖拽和添加等操作,不用自己再手写代码了。
添加图片
1.可以选择再设计窗口进行添加
2.再代码中进行添加,此处与视频中讲述有出入,可能因版本不同具体的代码实现有一点出入。
视频中使用actionNew,本文具体实现的时候使用了actionef,使用视频中的会报错,下文代码可以正确运行。
详细代码:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    
    
    ui->setupUi(this);
    //添加图标,
    //ui->actionNew->setIcon(QIcon("D:/Imag/1.jpg"));
    ui->actionef->setIcon(QIcon("D:/Imag/1.jpg"));
}

MainWindow::~MainWindow()
{
    
    
    delete ui;
}

添加资源
在这里插入图片描述
右击选择再Explore,之后把图片文件复制粘贴进去。
在这里插入图片描述
右击选中文件选择添加新文件(add new)
在这里插入图片描述
按照下图所示选择
在这里插入图片描述
自己命名
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果不是上图这样子的就跟我的一样的话,就点击第一个
在这里插入图片描述
下一步添加文件
在这里插入图片描述
在这里插入图片描述
打开全选
在这里插入图片描述
在这里插入图片描述
然后资源添加成功
使用方法:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    
    
    ui->setupUi(this);
    //添加图标,
    //ui->actionNew->setIcon(QIcon("D:/Imag/1.jpg"));
    ui->actionef->setIcon(QIcon("D:/Imag/1.jpg"));
    //私用添加qt资源:":+前缀名+文件名"
    ui->actionef->setIcon(QIcon(":/new/prefix1/Imag/2.jpg"));
}

MainWindow::~MainWindow()
{
    
    
    delete ui;
}


猜你喜欢

转载自blog.csdn.net/weixin_45866980/article/details/127051400