QMainWindow(1)
QMainWindow是一个为用户提供窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bar)、多个铆接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。
菜单栏
-
菜单栏 最多有一个
-
QMenuBar * bar = MenuBar();//创建菜单栏
-
setMenuBar( bar ) //把菜单栏放到窗口中
-
QMenu * fileMenu = bar -> addMenu(“文件”) 创建菜单
-
QAction * newAction = fileMenu ->addAction(“新建”); 创建菜单项
-
fileMenu->addSeparator();//添加分割线
-
代码如下:
···
//创建菜单栏 //菜单栏最多有一个 QMenuBar *bar = new QMenuBar; //创建菜单 QMenu *fileMenu = bar->addMenu("文件"); QMenu *editMenu = bar->addMenu("编辑"); //把菜单栏放到窗口中 setMenuBar(bar); //创建菜单项 fileMenu->addAction("新建"); //添加分割线 fileMenu->addSeparator(); fileMenu->addAction("保存");
运行结果:
工具栏
-
工具栏可以有多个,工作栏在窗口内可以拖动到上、下、左、右侧
-
QToolBar * toolbar = new QToolBar(this); //创建工具栏
-
addToolBar( 默认停靠区域, toolbar );
-
设置 后期停靠区域,设置浮动,设置移动
-
可以添加工具项、小控件
-
···
//创建工具栏,可以有多个 QToolBar *toolBar = new QToolBar(this); addToolBar(toolBar);//默认在窗口上侧 menubar下面 addToolBar(Qt::LeftToolBarArea,toolBar); //放到窗口左侧 //后期设置,停靠区域,只允许放在左侧/右侧 toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea); //设置浮动(默认true,可以浮动) toolBar->setFloatable(false); //设置移动(默认为true,可以移动) toolBar->setMovable(false); //工具栏中可以添加工具项 QAction *draw = new QAction("绘图"); //添加分割线 toolBar->addSeparator(); toolBar->addAction(draw); //工具栏中添加控件 QPushButton *btn = new QPushButton("这是个按钮",this); toolBar->addWidget(btn);
ps:移动和浮动的区别:浮动设置false后,不允许工具栏在不能停靠的位置浮动存在;移动设置false后,不允许拖动工具栏(前面的区域、浮动设置都会失效)
运行结果: