菜单所需头文件
-
QMenuBar:菜单(用于添加菜单栏)
-
QMenu:菜单(添加菜单)
-
QAction:添加菜单项(添加动作)
-
QToolBar:添加菜单项的快捷方式
-
QStatusBar:状态栏
-
QLabel:标签
创建
//模板,创建并且指定当前窗口为父对象(实质上为构造函数)
头文件名 *名字 = new 头文件名(this);
//创建菜单栏
QMenuBar *mBar = menuBar();
//添加菜单项,添加动作
QAction *pNew = pFile->addAction(QString::fromLocal8Bit("新建"));
//添加分割线
pFile->addSeparator();
//添加工具栏,菜单项的快捷方式
QToolBar *toolBar = addToolBar("toolBar");
//工具栏添加快捷键
toolBar->addAction(pNew);
//新建状态栏
QStatusBar *statusBar = statusBar();
实战案例
//菜单栏
QMenuBar *mBar = menuBar();
//添加菜单
QMenu *pFile = mBar->addMenu(QString::fromLocal8Bit("文件"));
//添加菜单项,添加动作
QAction *pNew = pFile->addAction(QString::fromLocal8Bit("新建"));
QAction *pOpen = pFile->addAction(QString::fromLocal8Bit("打开"));
pFile->addSeparator();//添加分割线
connect(pNew, &QAction::triggered,
[=]()
{
qDebug()<<QString::fromLocal8Bit("新建被按下"); //打印
}
);
//工具栏,菜单项的快捷方式
QToolBar *toolBar = addToolBar("toolBar");
//添加小控件
QPushButton *b = new QPushButton(this);
b->setText("^_^");
toolBar->addWidget(b);
connect(b, &QPushButton::clicked,
[=]()
{
b->setText("123");
}
);
//工具栏添加快捷键
toolBar->addAction(pNew);
//状态栏
QStatusBar *sBar = statusBar(); //新建状态栏
QLabel *label = new QLabel(this);
label->setText("Normal text file");
sBar->addWidget(label);
sBar->addWidget(new QLabel("2", this)); //从左往右添加
sBar->addPermanentWidget(new QLabel("2", this)); //从右往左添加
//核心控件,文本编辑框
QTextEdit *textEdit = new QTextEdit(this);
setCentralWidget(textEdit);
//浮动窗口
QDockWidget *dock = new QDockWidget(this);
addDockWidget(Qt::RightDockWidgetArea, dock);
//给浮动窗口添加控件
QTextEdit *textEdit1 = new QTextEdit(this);
dock->setWidget(textEdit1);
网友评论