程序说明
编写MainWindow测试界面,创建菜单栏和工具栏,并为其添加相应的功能
项目地址:https://github.com/ZHJ0125/QtLearning/tree/master/Projects/10_MainWindow
过程简述
- 首先创建一个基于QMainWidget类的项目
- 在UI编辑界面创建两个菜单栏标签
- 分别在两个菜单栏中添加子菜单
- 为子菜单设置快捷键
- 添加label标签
- 设置菜单的槽函数
- 编写槽函数
为不同的标签编写相应的槽函数,槽函数的功能是改变label标签为相应的文字
- 添加菜单图标
首先在界面左侧工程栏中,添加相应的资源文件。导入需要的图片资源。
之后在UI界面右侧QAction功能栏添加图片资源
- 通过添加代码添加一个菜单选项
// mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QMenu *editMenu = ui->menuBar->addMenu("编译(&B)");
QAction *action_Open = editMenu->addAction(
QIcon(":/image/images/build.png"),tr("编译全部(&A)"));
action_Open->setShortcut(QKeySequence("Ctrl+A"));
ui->mainToolBar->addAction(action_Open);
}
- 添加工具栏组件
// mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->mainToolBar->addAction(action_Open);
QToolButton *toolBtn = new QToolButton(this); // 创建QToolButton
toolBtn->setText(tr("颜色"));
QMenu *colorMenu = new QMenu(this); // 创建一个菜单
colorMenu->addAction(tr("红色"));
colorMenu->addAction(tr("绿色"));
toolBtn->setMenu(colorMenu); // 添加菜单
toolBtn->setPopupMode(QToolButton::MenuButtonPopup); // 设置弹出模式
ui->mainToolBar->addWidget(toolBtn); // 向工具栏添加QToolButton按钮
QSpinBox *spinBox = new QSpinBox(this); // 创建QSpinBox
ui->mainToolBar->addWidget(spinBox); // 向工具栏添加QSpinBox部件
}
- 编译测试