实现菜单栏界面的初始化,使用源代码函数,对于学习Qt十分重要,也方便后期优化界面。
实现如上图所示的菜单栏
其源代码是
放在初始化构造函数内
//********************************以下是菜单栏界面初始化创建的源代码
QMenuBar *ui_MenuBar = new QMenuBar(this);
ui_MenuBar->move(0,0);//菜单栏位置
QMenu *ui_FileMenu= new QMenu(QStringLiteral("文件"));
QAction *ui_OpenAction = new QAction(QStringLiteral("打开"), this);
QAction *ui_OpenRecentlyAction = new QAction(QStringLiteral("打开最近的"), this);
QAction *ui_SaveAction = new QAction(QStringLiteral("保存"), this);
QAction *ui_SaveAnotherAction = new QAction(QStringLiteral("另存为"), this);
QAction *ui_OpenImageAction = new QAction(QStringLiteral("打开图像"), this);
QAction *ui_ExitAction = new QAction(QStringLiteral("退出"), this);
QMenu *ui_ViewMenu = new QMenu(QStringLiteral("视图"), this);
QMenu *ui_DisplayWayMenu = new QMenu(QStringLiteral("显示方式"), this);
QAction *ui_DisplayWay30Action = new QAction(QStringLiteral("显示1"), this);
QAction *ui_DisplayWay60Action = new QAction(QStringLiteral("显示2"), this);
QMenu *ui_SetMenu = new QMenu(QStringLiteral("设置"), this);
QAction *ui_CurrencyAction = new QAction(QStringLiteral("通用"), this);
QAction *ui_NetAction = new QAction(QStringLiteral("网络"), this);
QAction *ui_CacheAction = new QAction(QStringLiteral("缓存"), this);
QMenu *ui_ToolMenu = new QMenu(QStringLiteral("工具"), this);
QAction *ui_IPSetAction = new QAction(QStringLiteral("IP设置"), this);
QAction *ui_BandWidthAction = new QAction(QStringLiteral("MAC管理"), this);
QAction *ui_GigeVisionAction = new QAction(QStringLiteral("动作命令"), this);
QMenu *ui_HelpMenu = new QMenu(QStringLiteral("帮助"), this);
QAction *ui_UserManualAction = new QAction(QStringLiteral("用户手册"), this);
QAction *ui_DevelopmentAction = new QAction(QStringLiteral("Development"), this);
QAction *ui_AboutAction = new QAction(QStringLiteral("关于"), this);
ui_MenuBar->addMenu(ui_FileMenu);
ui_MenuBar->addMenu(ui_ViewMenu);
ui_MenuBar->addMenu(ui_SetMenu);
ui_MenuBar->addMenu(ui_ToolMenu);
ui_MenuBar->addMenu(ui_HelpMenu);
ui_ViewMenu->addMenu(ui_DisplayWayMenu);
ui_FileMenu->addAction(ui_OpenAction);
ui_FileMenu->addAction(ui_OpenRecentlyAction);
ui_FileMenu->addSeparator(); //添加分割线
ui_FileMenu->addAction(ui_SaveAction);
ui_FileMenu->addAction(ui_SaveAnotherAction);
ui_FileMenu->addSeparator(); //添加分割线
ui_FileMenu->addAction(ui_OpenImageAction);
ui_FileMenu->addSeparator(); //添加分割线
ui_FileMenu->addAction(ui_ExitAction);
ui_DisplayWayMenu->addAction(ui_DisplayWay30Action);
ui_DisplayWayMenu->addAction(ui_DisplayWay60Action);
ui_SetMenu->addAction(ui_CurrencyAction);
ui_SetMenu->addAction(ui_NetAction);
ui_SetMenu->addAction(ui_CacheAction);
ui_ToolMenu->addAction(ui_IPSetAction);
ui_ToolMenu->addSeparator(); //添加分割线
ui_ToolMenu->addAction(ui_BandWidthAction);
ui_ToolMenu->addAction(ui_GigeVisionAction);
ui_HelpMenu->addAction(ui_UserManualAction);
ui_HelpMenu->addAction(ui_DevelopmentAction);
ui_HelpMenu->addAction(ui_AboutAction);
状态栏的实现
需要包含的头文件是
#include <QToolBar>
#include <QAction>
相关的源代码是:
QToolBar *ui_ToolBar = new QToolBar(this);
QAction *ui_OpenAction = new QAction(QStringLiteral(""),this);
QAction *ui_SaveAction = new QAction(QStringLiteral(""),this);
QAction *ui_SaveAnotherAction = new QAction(QStringLiteral(""),this);
QAction *ui_StatusAction = new QAction(QStringLiteral(""),this);
QAction *ui_RecordAction = new QAction(QStringLiteral(""),this);
ui_OpenAction->setIcon(QIcon("D:/open.png"));
ui_SaveAction->setIcon(QIcon("D:/save.png"));
ui_SaveAnotherAction->setIcon(QIcon("D:/saveanother.png"));
ui_StatusAction->setIcon(QIcon("D:/status.png"));
ui_RecordAction->setIcon(QIcon("D:/record.png"));
ui_ToolBar->addAction(ui_OpenAction);
ui_ToolBar->addAction(ui_SaveAction);
ui_ToolBar->addAction(ui_SaveAnotherAction);
ui_ToolBar->addSeparator(); //添加分割线
ui_ToolBar->addAction(ui_StatusAction);
ui_ToolBar->addAction(ui_RecordAction);