目录
1.基本概述
2.菜单栏
3.工具栏
4.状态栏
5.铆接部件
6.中心部件
7.资源文件
(1)创建菜单栏,及菜单项
(2)创建工具栏
(3)创建锚接部件
(4)创建中心文件
(5)创建状态栏
1.基本概述
QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。
2.菜单栏
(1)菜单栏最多只有一个,在窗口最上方
(2)菜单栏创建: 通过QMainWindow类的menubar()函数获取主窗口菜单栏指针
#include < QMenuBar >
QMenuBar *bar = MenuBar();
此时菜单栏不仅为空,而且独立于窗口
(3)菜单栏放入窗口:
setMenuBar(bar)
此时已经将菜单栏放入窗口,但是菜单栏没有内容,因此不显示
(4)创建菜单:
QMenu * fileMenu =bar->addMenu(“文件”);
(5)创建菜单项:
fileMenu ->setAction(“新建”)
fileMenu ->setAction(“打开”)
(6)菜单项之间的分隔符
fileMenu->addSeparator();
3.工具栏
(1)工具栏,(可以是多个),但是只能在左/右/上/下位置,默认是上方
(2)工具栏创建:
#include < QToolBar >
QToolBarr *toolbar = new ToolBar(this);
(3)工具栏放入窗口:
addToolBar(toolbar);
addToolBar(默认停靠区域,toolbar);
(4)工具栏停靠范围:
toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
(5)工具栏浮动:
toolBar->setFloatable(false);
(6)工具项创建
toolBar->addAction(“新建”);
toolBar->addAction(“打开”);
(7)工具项之间的分隔符
toolBar->addSeparator();
(8)控件作为工具项
QPushButton *btn1=new QPushButton(“按钮”,this);//创建控件
toolBar->addWidget(btn1);//将控件添加至工具栏
4.状态栏
(1)状态栏,(最多只有一个),在窗口最下方
(2)状态栏创建:
#include < QStatusBar >
QStatusBar * staBar= statusBar();
(3)状态栏放入窗口:
setStatusBar(staBar);
(4)添加状态项:
QLabel * label=new QLabel(“提示信息”,this);
staBar->addWidget(label);//左侧添加
QLabel *label1=new QLabel(“右侧提示信息”,this);
staBar->addPermanentWidget(label1);//右侧添加
5.铆接部件
(1)锚接部件,(可以有多个),放置在上、下、左、右位置
(2)锚接部件创建:
#include
QDockWidget *dockWidget=new QDockWidget(“锚接部件/浮动窗口”,this);
(3)锚接部件放入窗口:
addDockWidget( Qt::BottomDockWidgetArea,dockWidget);//参数1:默认位置
(4)锚接部件放置范围:
dockWidget>setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);
6.中心部件
(1)中心部件,(只能有一个)
(2)中心部件创建:
#include
QTextEdit *edit =new QTextEdit(this);//添加至对象树
(3)中心部件放入窗口:
setCentralWidget(edit);
7.资源文件
本节如何通过界面文件,通过拖动组件的方式创建界面:ui文件如图所示: