QToolBar 工具栏
1.QToobar *mainToolBar = new QToolBar(this);
2.mainToolBar->setGeometry(0,m->height(),width(),30);
3.mainToolBar->setIconSize(QSize(30,30));
4.mainToolBar->addAction(a1);
QStatusBar 状态栏
1.QStatusBar *statusBar = new QStatusBar(this);
2.statusBar->setGeometry(0,height() - 30,width(),30);
3.statusBar->showMessage(QStringLiteral("测试三秒消失消息!"),3000);
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMenuBar>
#include <QActionGroup>
#include <QToolBar>
#include <QStatusBar>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
//插入菜单栏
QMenuBar *m = new QMenuBar(this);
m->resize(width(),m->height());
//一级菜单
m1 = m->addMenu(QStringLiteral("菜单1"));
//包含所有子结点(子结点的子节点)都触发
connect(m1,&QMenu::triggered,this,&MainWindow::Action);
//connect(m1,qOverload<QAction*>::of(&QMenu::triggered),
// this,qOverload<QAction*>::of(&MainWindow::Action));
//connect(m1,SIGNAL(triggered(QAction*)),
// this,SLOT(Action(QAction*)));
//二级菜单
QAction* a1 = m1->addAction(QStringLiteral("二级菜单1.1"));
a1->setIcon(QIcon("test.png"));
//QAction 触发信号
// connect(a1,qOverload<>::of(&QAction::triggered),
// this,qOverload<>::of(&MainWindow::Action1));
connect(a1,SIGNAL(triggered(void)),
this,SLOT(Action1(void)));
//添加快捷键
a1->setShortcut(QString("A"));
// connect(a1,&QAction::triggered,
// this,&MainWindow::Action1);
QAction* a2 = m1->addAction(QStringLiteral("二级菜单1.2"));
//QAction鼠标悬停信号
connect(a2,&QAction::hovered,this,&MainWindow::Hover);
QAction* a3 = m1->addAction(QStringLiteral("二级菜单1.3"));
a3->setIcon(QIcon("test.png"));
a1->setCheckable(true);
a2->setCheckable(true);
a3->setCheckable(true);
QActionGroup *ag = new QActionGroup(this);
//ag->addAction(a1);
ag->addAction(a2);
ag->addAction(a3);
//单选
ag->setExclusive(true);
// //是否选择
// connect(a1,qOverload<bool>::of(&QAction::triggered),
// this,qOverload<bool>::of(&MainWindow::Action1));
connect(a1,SIGNAL(triggered(bool)),
this,SLOT(Action1(bool)));
//三级菜单
QMenu *m14 = m1->addMenu(QStringLiteral("二级菜单1.4"));
m14->addAction(QStringLiteral("三级菜单1.4.1"));
m14->setIcon(QIcon("test.png"));
QMenu *m2 = m->addMenu(QStringLiteral("菜单2"));
m2->addAction(ui->actionTest1);
QMenu *m3 = m->addMenu(QStringLiteral("菜单3"));
/
//工具栏
QToolBar *tbar = new QToolBar(this);
tbar->setGeometry(0,m->height(),width(),30);
tbar->setIconSize(QSize(30,30));
tbar->addAction(a1);
/
//状态栏
//实现消息定时消失
QStatusBar * sbar = new QStatusBar(this);
sbar->setGeometry(0,height() - 30, width(),30);
sbar->showMessage(QStringLiteral("测试消息三秒消失!"),3000);
}
MainWindow::~MainWindow()
{
delete ui;
}