QMainWindow

来源:互联网 发布:达克赛德vs灭霸 知乎 编辑:程序博客网 时间:2024/04/30 19:04

QMainWindow包括一个菜单栏,多个工具栏,多个锚接部件,一个状态栏,一个中心部件组成。

菜单栏

菜单栏是一个包含很多菜单的部件,其中菜单又是一系列命令的列表,命令用QAction表示,菜单栏在#include< QMenuBar>中定义,菜单在#include< QMenu>中定义。

private:
QMenu *fileMenu;
QMenu *editMenu;
QMenu *buideMenu;
QAction *NewFileAction;
QAction *OpenFileAction;

fileMenu=menuBar()->addMenu(tr(“文件”));
NewFileAction=new QAction(tr(“新建”),this);
NewFileAction->setShortcut(tr(“Ctrl+N”));
NewFileAction->setStatusTip(tr(“新建文件”));
OpenFileAction=new QAction(tr(“打开”),this);
OpenFileAction->setShortcut(tr(“Ctrl+Q”));
OpenFileAction->setStatusTip(tr(“打开一个文件”));
fileMenu->addAction(NewFileAction);
fileMenu->addAction(OpenFileAction);
editMenu=menuBar()->addMenu(tr(“编辑”));
buideMenu=menuBar()->addMenu(tr(“构建”));

使用menuBar()->addMeun()添加菜单,使用addAction()向菜单中添加命令

工具栏

工具栏由一些经常使用的Action组成,工具栏可以停靠在主窗口的任意位置,一个主窗口可以包括多个工具栏。

QToolBar *fileTool;fileTool=addToolBar("Fiel");fileTool->addAction(openFileAction);fileTool->setAllowedAreas(Qt::TopToolBarArea|Qt::LeftToolBarArea);fileTool->setMovable(false);

setAllowedAreas设置工具条可以停靠的范围,包括
Qt::LeftToolBarArea
Qt::RightToolBarArea
Qt::TopToolBarArea
Qt::BottomToolBarArea
Qt::AllToolBarAreas

setMovable设置工具条可移动性。

锚接部件

锚接部件是一个包含其他窗体部件的部件,位于工具栏区的内部,可以作为一个窗口自由地浮动在主窗口上,也可以停靠在主窗口的不同方向,一个主窗口可以包含多个锚接部件。例如vs2017的类视图,属性管理器等都是锚接部件。

工具栏和锚接部件可以通过鼠标右键或QMainWindow::CreatePopupMenu()控制显隐。

原创粉丝点击