Qt6学习笔记三(QMainWindow、菜单栏、工具栏、状态栏、铆接部件、核心部件)

简介: Qt6学习笔记三(QMainWindow、菜单栏、工具栏、状态栏、铆接部件、核心部件)

一、QMainWindow介绍

首先创建一个项目,基类选择QMainWindow

主要包括:

菜单栏:QMenuBarQMenuQAction

工具栏:QToolBar

状态栏:QStatusBar

铆接部件(浮动窗口):QDockWidget

设置核心部件:setCentralWidget()

二、菜单栏

/*菜单栏创建(只能有一个)*/
    QMenuBar *bar = menuBar();
    //将菜单栏放入到窗口中 (此时还没添加内容,因此看起来是空的)
    this->setMenuBar(bar);
    //创建菜单
    QMenu *fileMenu = bar->addMenu("文件");
    QMenu *editMenu = bar->addMenu("编辑");
    //创建菜单项
    QAction* newAct = fileMenu->addAction("新建");
    fileMenu->addSeparator();//添加分隔线
    QAction* openAct = fileMenu->addAction("打开");

三、工具栏

/*工具栏(可以有多个)*/
    QToolBar *toolBar = new QToolBar(this);
    this->addToolBar(Qt::LeftToolBarArea,toolBar);//qt中所有的枚举值,都是Qt::开头的,可以查看帮助文档
    //后期设置  只允许左边或右边停靠
    toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);//由于Qt文档中可只,不同位置枚举分别1、2、4、8..因此可以用位或运算。表示既可以停靠左边,又可以停靠右边
    //设置不能浮动(只能停靠)
    toolBar->setFloatable(false);
    //设置移动(总开关)
    toolBar->setMovable(false);
    //工具栏中可以设置内容
    toolBar->addAction(newAct);
    toolBar->addSeparator();//添加分割线
    toolBar->addAction(openAct);
    //工具栏中添加控件
    QPushButton* btn = new QPushButton("aa",this);
    toolBar->addWidget(btn);

四、状态栏

/*状态栏(最多只有一个)*/
    QStatusBar* stBar = statusBar();
    //QStatusBar* stBar = new QStatusBar();//new也是可以的
    //设置到窗口中
    this->setStatusBar(stBar);
    //放标签控件
    QLabel *label1 = new QLabel("提示信息",this);
    stBar->addWidget(label1);
    QLabel *label2 = new QLabel("右侧提示信息",this);
    stBar->addPermanentWidget(label2);

五、铆接部件(浮动窗口)

/*铆接部件(浮动窗口) (可以有多个)*/
    QDockWidget* dockWidget = new QDockWidget("浮动",this);
    this->addDockWidget(Qt::BottomDockWidgetArea,dockWidget);//是在中心部件的下方,(如果中心部件为空,可能导致看起来是在上方)
    //设置后期停靠区域,只允许上下
    dockWidget->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);

六、设置中心部件

/*设置中心部件(只能有一个)*/
    QTextEdit* edit = new QTextEdit(this);//以文本编辑器为例子
    this->setCentralWidget(edit);

七、总结


相关文章
|
3月前
|
开发者
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
203 4
|
3月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
697 4
|
3月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
240 3
|
3月前
|
数据可视化
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
80 3
|
3月前
解决QT中报错xxx.h:4:10: ‘QMainWindow‘ file not found
解决QT中报错xxx.h:4:10: ‘QMainWindow‘ file not found
180 0
|
4月前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
181 1
Qt(C++)开发一款图片防盗用水印制作小工具
|
3月前
|
监控 C++ 容器
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
88 0
|
2月前
|
开发工具 C++
qt开发技巧与三个问题点
本文介绍了三个Qt开发中的常见问题及其解决方法,并提供了一些实用的开发技巧。
|
2月前
|
3月前
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
151 2