(三)QMainWindow
介绍QMainWindow
QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。
菜单栏
一个主窗口最多只有一个菜单栏。
//定义菜单栏 最多只能有一个
QMenuBar *Bar = menuBar();
//一个都是使用set方法
setMenuBar(Bar);
//创建菜单
QMenu * fileMenu =Bar->addMenu("文件");
QMenu * editMenu =Bar->addMenu("编辑");
//创建菜单项
fileMenu->addAction("新建");
//添加分隔栏
fileMenu->addSeparator();
fileMenu->addAction("打开");
工具栏
主窗口的工具栏上可以有多个工具条,通常采用一个菜单对应一个工具条的的方式,也可根据需要进行工具条的划分。
//工具栏可以有多个
QToolBar * toolBar = new QToolBar(this);
//有多个的使用add方法 工具栏的位置可以很任意拖拉,当时也可以固定位置
//Qt::LeftToolBarArea 左边 / Qt::TopToolBarArea 上边
addToolBar(Qt::TopToolBarArea,toolBar);
//只允许上下
toolBar->setAllowedAreas(Qt::TopToolBarArea|Qt::BottomToolBarArea);
//设置浮动
toolBar->setFloatable(false);
//总开关 设置移动
toolBar->setMovable(false);
//工具栏添加内容
toolBar->addAction(newAction);
//添加分隔符
toolBar->addSeparator();
toolBar->addAction(openAction);
//添加控件
QPushButton * btn = new QPushButton("按钮",this);
toolBar->addWidget(btn);
状态栏
状态栏也只能最多有一个
//状态栏 最多只有一个
QStatusBar * stBar = statusBar();
setStatusBar(stBar);
QLabel * leftlabel = new QLabel("左侧提示信息",this);
QLabel * rightlabel = new QLabel("右侧提示信息",this);
stBar->addPermanentWidget(leftlabel,1);
//控制在下面的左右测
stBar->addPermanentWidget(rightlabel);
铆接部件(浮动窗口)
铆接部件 QDockWidget,也称浮动窗口,可以有多个。
//浮动窗口 可以有多个
QDockWidget * dockWidget = new QDockWidget("浮动",this);
addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
//设置中心部件 只能有一个
QTextEdit * textEdit = new QTextEdit(this);
setCentralWidget(textEdit);
添加资源文件
1.首先将需要导入到项目的文件复制到项目下(image就是刚刚复制进入的)
2.右键添加新文件,取名res
3.添加前缀和文件
文件就是把刚刚文件夹的内容复制进来
4.代码中展示
QAction * newAction =fileMenu->addAction("新建");
newAction->setIcon(QIcon(":/Image/Luffy.png"));
运行展示: