Qt中创建使用菜单栏、工具栏、状态栏
1.菜单栏
软件(如QT)中“文件”、“编辑” 这一栏称为菜单栏。主要使用QMenuBar、QMenu、QAction类创建菜单栏及相关选项。
//.h里定义
QMenuBar *menu;
QMenu *menu1;
QMenu *menu2;
QMenu *menu3;
QAction *action1;
QAction *action2;
QAction *action3;
QStatusBar *status;
initMenu();
//.c
MainWindow::initMenu()
{
menu = new QMenuBar(this);
this->setMenuBar(menu);//构建菜单栏
menu1 = new QMenu("规划路径(&A)",menu);
menu2 = new QMenu("规格(&B)",menu);
menu3 = new QMenu("清除(&C)",menu);//构建菜单栏选项
action1 = new QAction("小地图");
action2 = new QAction("中地图");
action3 = new QAction("大地图");//构建菜单栏选型的具体功能
menu2->addAction(action1);
menu2->addSeparator();
menu2->addAction(action2);//将功能添加到菜单栏选修
menu2->addSeparator();//分隔符
menu2->addAction(action3);
menu->addMenu(menu1);//将菜单栏选项添加到菜单栏
menu->addMenu(menu2);
menu->addMenu(menu3);
}
效果如图所示:
2.工具栏:软件使用时所需要的一些工具,如新建、保存当前数据等。主要使用QToolBar、QAction创建及使用工具栏。
MainWindow::initTool()
{
QToolBar *tool = new QToolBar(this);
this->addToolBar(tool);//构建工具栏
QAction *tool1 = new QAction("新建");//构建工具栏选项
QAction *tool2 = new QAction("打开");
QAction *tool3 = new QAction("保存");
QAction *tool4 = new QAction("退出");
tool->addAction(tool1);//将工具栏选项添加到工具栏
tool->addAction(tool2);
tool->addAction(tool3);
tool->addAction(tool4);
}
效果如图所示:
3.状态栏:主要显示软件当前运行的状态,主要使用QStatusBar创建。
//.h
QStatusBar *status;
initStatus();
//.c
MainWindow::initStatus()
{
status = new QStatusBar(this);
this->setStatusBar(status);
}
//软件相关功能函数里放
QLabel *pWelCome = new QLabel(QString(" 就绪"));
status->addWidget(pWelCome);
效果如图所示:
4.创建好菜单栏、工具栏后需要对他们赋予相应功能,可使用信号与槽将他们连接起来。
//菜单栏的三个子选项的信号与槽
MainWindow::initConnection()
{
connect(action1,SIGNAL(triggered()),this,SLOT(drawXiao()));
connect(action2,SIGNAL(triggered()),this,SLOT(drawZhong()));
connect(action3,SIGNAL(triggered()),this,SLOT(drawDa()));
}