QWainWindows
QWainWindow是一个为用户提供主窗口程序的类,包含一个 菜单栏,多个工具栏、多个锚接部件(浮动窗口)、一个状态栏及一个中心部件,是许多应用程序的基础。
菜单栏最多有一个
- QMenuBar*bar=Menubar();
- setMenuBar(bar);
- QMenu * fileMenu=bar->addMenu("文件“);//创建菜单
- QAction*newAction=bar->addAction("新建”);//创建菜单项
- fileMenu->addSeparator();
工具栏可以有多个
- QToolBar * toolbar=new QToolBar(this);
- addToolBar(默认停靠区域,toolbar); Qt::LeftToolBarArea
- 设置 后期停靠区域 设置浮动 设置移动
- 添加菜单项或者添加小控件
状态栏最多有一个:
- QStatusBar *stBar=statusBar();
- //设置到窗口 setStatusBar(stBar);
- stBar->addWidget(label);放左侧信息
- stBar->addPermanentWidget(label2);放右侧信息
铆接部件(浮动窗口)可以多个
- QDockWidget * dockWidget = new QDockWidget(“浮动窗口”,this);
- addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
//设置停靠区域
设置核心部件 只能一个
- setCentralWidget(edit);
#include "mainwindow.h"
#include<QMenuBar>
#include<QToolBar>
#include<QDebug>
#include<QPushButton>
#include<QStatusBar>
#include<QLabel>
#include<QDockWidget>
#include<QTextEdit>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
resize(600,400);//调整窗口大小
QMenuBar * bar = menuBar(); //创建菜单栏
setMenuBar(bar);//将菜单栏放入窗口
//创建菜单
QMenu * fileMenu = bar->addMenu("文件");
QMenu * editMenu = bar->addMenu("编辑");
//创建菜单项
QAction * newAction=fileMenu->addAction("新建");
fileMenu->addSeparator();//添加分割线
QAction * openAction=fileMenu->addAction("打开");
fileMenu->addSeparator();//添加分割线
fileMenu->addAction("保存");
//工具栏
QToolBar * toolBar = new QToolBar(this);
addToolBar(Qt::LeftToolBarArea,toolBar);//添加到窗口,左侧
//后期设置只允许左右停靠
toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
//设置浮动
toolBar->setFloatable(false);
//设置移动(总开关)
//toolBar->setMovable(false);
//工具栏里设置内容
toolBar->addAction(newAction);
toolBar->addSeparator();
toolBar->addAction(openAction);
toolBar->addAction("test");
//工具栏里添加控件
QPushButton * btn=new QPushButton("按钮",this);
toolBar->addWidget(btn);
//状态栏最多有一个
QStatusBar *stBar=statusBar();
//设置到窗口
setStatusBar(stBar);
//放标签控件
QLabel * label =new QLabel("提示信息",this);
stBar->addWidget(label);
QLabel * label2 =new QLabel("右侧提示信息",this);
stBar->addPermanentWidget(label2);
//铆接部件(浮动窗口)可以有多个
QDockWidget * dockWidget = new QDockWidget("浮动窗口",this);
addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
//设置后期停靠区域,只允许上下
dockWidget->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);
//设置中心部件 只能有一个
QTextEdit * edit = new QTextEdit(this);
setCentralWidget(edit);
}
MainWindow::~MainWindow()
{
}
资源文件添加:
- 将你等文件图片拷贝到项目位置下
- 右键项目->添加新文件->QT->Qt rescouse File_->给资源文件起名
- res生成 res.qrc
- open in editor编辑资源
- 添加前缀、添加文件
- 使用“:+前缀名+文件名”
对话框分类:
模态对话框(不可以对其他窗口进行操作)
QDialog dlg(this)
dlg.exec();
非模态对话框(可以对其他窗口进行操作)
QDialog *dlg=new QDialog(this)
dlg->show();