QMainwindow窗口
- 菜单栏
- 在二级菜单中输入中文的方法
- 给菜单栏添加相应的动作
- 使用QMenu类的API方法添加菜单项
- 分隔符也是QAction类
- 工具栏
- 状态栏
- 停靠窗口
菜单栏
只能有一个, 位于窗口的最上方
关于顶级菜单可以直接在UI窗口中双击, 直接输入文本信息即可, 对应子菜单项也可以通过先双击在输入的方式完成添加, 但是这种方式不支持中文的输入。
输入文字,按回车确认。
能创建二级菜单栏
在二级菜单中输入中文的方法
新建动作( action )
得到:
将刚刚创建的动作拖到相应的菜单列表中去:
效果:
给菜单栏添加相应的动作
其中,菜单栏对应的类为QAction
当用户点击了菜单栏中的某一个QAction时,triggered信号被发射出啦
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QDebug"
#include "QMessageBox"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->createprogect1,&QAction::triggered,this,[=]{
qDebug()<<"点击了一下创建项目";
QMessageBox::information(this, "提示框",
"成功创建项目",
QMessageBox::Ok,
QMessageBox::Save);
});
connect(ui->open_action,&QAction::triggered,this,[=]{
qDebug()<<"点击了一下打开项目";
QMessageBox::information(this, "提示框",
"成功打开项目",
QMessageBox::Ok,
QMessageBox::Save);
});
}
MainWindow::~MainWindow()
{
delete ui;
}
使用QMenu类的API方法添加菜单项
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QDebug"
#include "QMessageBox"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
QAction* a1;
a1 = ui->menu->addAction("打开老项目");
connect(a1,&QAction::triggered,this,[=]{
qDebug()<<"点击了一下打开项目";
QMessageBox::information(this, "提示框",
"成功打开老项目",
QMessageBox::Ok,
QMessageBox::Save);
});
connect(ui->createprogect1,&QAction::triggered,this,[=]{
qDebug()<<"点击了一下创建项目";
QMessageBox::information(this, "提示框",
"成功创建项目",
QMessageBox::Ok,
QMessageBox::Save);
});
connect(ui->open_action,&QAction::triggered,this,[=]{
qDebug()<<"点击了一下打开项目";
QMessageBox::information(this, "提示框",
"成功打开项目",
QMessageBox::Ok,
QMessageBox::Save);
});
}
MainWindow::~MainWindow()
{
delete ui;
}
分隔符也是QAction类
工具栏
可以有多个, 默认提供了一个, 窗口的上下左右都可以停靠
状态栏
只能有一个, 位于窗口最下方
停靠窗口
可以有多个, 默认没有提供, 窗口的上下左右都可以停靠