当前位置:网站首页>QT学习日记7——QMainWindow
QT学习日记7——QMainWindow
2022-07-02 07:23:00 【herb.dr】
目录
一、QMainWindow简介
1.1 文字
QMainWindow 是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等
1.2 图示
二、创建界面
2.1 选择QMainWindow
2.2 创建菜单栏
1、创建一个菜单栏没有扔到屏幕上
2、把菜单栏放入窗口,并创建菜单
菜单栏最多只能有一个
#include "mainwindow.h"
#include <QMenuBar>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
// 重置窗口大小
resize(600, 400);
// 菜单栏创建
QMenuBar *bar = menuBar();
// 将菜单栏放入到窗口中
setMenuBar(bar);
// 创建菜单
QMenu* fileMenu = bar->addMenu("文件");
QMenu* editMenu = bar->addMenu("编辑");
}
MainWindow::~MainWindow()
{
}
3、创建菜单项
4、添加分隔符
2.3 创建工具栏
1、默认生成
#include "mainwindow.h"
#include <QMenuBar>
#include <QToolBar>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
// 重置窗口大小
resize(600, 400);
// 菜单栏创建
QMenuBar *bar = menuBar();
// 将菜单栏放入到窗口中
setMenuBar(bar);
// 创建菜单
QMenu* fileMenu = bar->addMenu("文件");
QMenu* editMenu = bar->addMenu("编辑");
fileMenu->addAction("新建");
fileMenu->addSeparator();
fileMenu->addAction("打开");
QToolBar* toolBar = new QToolBar(this);
addToolBar(toolBar);
}
MainWindow::~MainWindow()
{
}
2、在左边生成
可以查文档有关这个函数其他参数
3、只允许左右停靠
4、不允许浮动
5、移动的总开关
关闭这个开关,上面设置的东西都没有意义了
toolBar->setMovable(false);
6、在工具栏中设置内容
#include "mainwindow.h"
#include <QMenuBar>
#include <QToolBar>
#include <QDebug>
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("打开");
QToolBar* toolBar = new QToolBar(this);
addToolBar(Qt::LeftToolBarArea, toolBar);
// 只允许 左右停靠
toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea );
toolBar->setFloatable(false);
toolBar->addAction(newAction);
toolBar->addAction(openAction);
}
MainWindow::~MainWindow()
{
}
添加分隔线
7、工具栏中添加控件
2.4 状态栏
1、状态栏
最多只能有一个
#include "mainwindow.h"
#include <QMenuBar>
#include <QToolBar>
#include <QDebug>
#include <QPushButton>
#include <QStatusBar>
#include <QLabel>
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("打开");
QToolBar* toolBar = new QToolBar(this);
addToolBar(Qt::LeftToolBarArea, toolBar);
// 只允许 左右停靠
toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea );
toolBar->setFloatable(false);
toolBar->addAction(newAction);
toolBar->addSeparator();
toolBar->addAction(openAction);
QPushButton* btn = new QPushButton("aa", this);
toolBar->addWidget(btn);
// 状态栏 最多有一个
QStatusBar* stBar = statusBar();
// 设置到窗口中
setStatusBar(stBar);
// 创建标签控件
QLabel* label = new QLabel("提示信息", this);
// 把标签控件放进状态栏
stBar->addWidget(label);
}
2、右侧提示信息
2.5 铆接部件
加头文件 #include <QDockWidget>
设置后期停靠区域,只允许上下
2.6 设置中心部件
只能设置一个
添加头文件 #include <QTextEdit>
边栏推荐
猜你喜欢
随机推荐
C#中索引器
Pywin32打开指定窗口
PCL之滤波
【ARK UI】HarmonyOS ETS的启动页的实现
13. Semaphore critical zone protection
2022-06-17
Mongodb quickly get started with some simple operations of mongodb command line
HDU1234 开门人和关门人(水题)
JSP webshell免杀——webshell免杀
6种单例模式的实现方式
洛谷 P5536 【XR-3】核心城市(贪心 + 树形 dp 寻找树的中心)
JSP webshell free -- webshell free
js数组常用方法
互联网快讯:腾讯会议应用市场正式上线;Soul赴港递交上市申请书
记录 AttributeError: ‘NoneType‘ object has no attribute ‘nextcall‘
洛谷 P4281 [AHOI2008]紧急集合 / 聚会(树上倍增 LCA)
数据库字典Navicat自动生成版本
二叉树专题--AcWing 47. 二叉树中和为某一值的路径(前序遍历)
PCL Eigen介绍及简单使用
JSP webshell免杀——JSP的基础