QMainWindow

简介: QMainWindow 是 Qt 中用于创建主窗口应用程序的类,支持菜单栏、工具栏、中央部件、停靠部件和状态栏等组件。菜单栏用于添加菜单项和子菜单;工具栏显示常用菜单项,可插入其他窗口部件;中央部件位于主窗口中心,实现主要功能;停靠部件可停靠在窗口四周,用于设置功能部件;状态栏显示程序状态信息。QMainWindow 提供了多种函数和高级用法,如自定义工具栏、多文档接口和快捷键设置。

ction动作类实现,可以添加菜单项(QAction)和子菜单(QMenu)。
一个主窗口只能有一个菜单栏。
工具栏(QToolBar):
一般用于显示常用的菜单项,也可以插入其他窗口部件。
工具栏中的按钮可以绑定特定的操作,方便用户进行快速操作。
一个主窗口可以拥有多个工具栏。
中央部件(QWidget):
位于主窗口的中心区域,是应用程序的主要功能实现区域。
可以放入一个窗口部件作为中心部件,这个部件通常是标准的Qt部件或定制的部件。
一个主窗口只能有一个中心部件,可以通过setCentralWidget()方法来设置。
Dock部件(QDockWidget):
又称停靠部件或停靠窗口,可以停靠在窗口部件的四周。
用来设置一些部件以实现一些功能,类似一个工具箱。
一个主窗口可以拥有多个Dock部件。
状态栏(QStatusBar):
位于主窗口的最底下,用于显示程序的一些状态信息。
可以使用statusBar()方法获取状态栏对象,并通过showMessage()方法显示文本消息。
一个主窗口只能拥有一个状态栏。
三、QMainWindow的主要函数
QMainWindow提供了一系列函数来管理其各个组件,以下是一些主要函数:

构造函数:QMainWindow(QWidget parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
设置中央部件:void setCentralWidget(QWidget
widget)
获取中央部件:QWidget centralWidget() const
设置菜单栏:void setMenuBar(QMenuBar
menuBar)
获取菜单栏:QMenuBar menuBar() const
设置状态栏:void setStatusBar(QStatusBar
statusBar)
获取状态栏:QStatusBar statusBar() const
添加工具栏:
void addToolBar(QToolBar
toolBar)
QToolBar *addToolBar(const QString &title)
设置主窗口标题:void setWindowTitle(const QString &title)
调整主窗口大小:void resize(int w, int h)
四、QMainWindow的高级用法
除了基本的组件布局和函数使用外,QMainWindow还支持一些高级用法,如:

自定义工具栏:可以通过在工具栏上添加自定义的QAction来自定义工具栏的外观和功能。
多文档接口(MDI):如果应用程序需要支持多个文档界面,QMainWindow提供了QMdiArea和QMdiSubWindow来实现多文档接口。
其他布局:除了中央部件外,QMainWindow还支持在其他位置添加QWidget部件,例如左侧、右侧、顶部或底部布局。可以使用QVBoxLayout、QHBoxLayout或其他布局管理器来管理这些部件的位置和大小。
快捷键和动作:QMainWindow允许为菜单项、工具栏按钮和其他控件定义快捷键和操作。这可以通过设置QAction的快捷键和信号-槽连接来实现。

目录
相关文章
ESP-01S连接OneNET上报温湿度信息
本文介绍了如何利用ESP-01S连接OneNET上报温湿度信息,其中包括如何烧录固件,如何配置OneNET平台,如何进行连接测试。最后,给出了一部分程序设计。
1429 0
ESP-01S连接OneNET上报温湿度信息
|
11月前
|
存储 移动开发 算法
ARM 常用汇编指令
下面是ARM架构中常用汇编指令的总结,涵盖数据处理、数据传输、分支跳转、堆栈操作等类别,方便你快速查阅和理解。
562 105
|
Web App开发 Windows
win 快捷键大全,虚拟窗口、桌面等操作细节,可以使界面整洁,分类工作;Chrome快捷键,都是一些开发的骚操作
这篇文章提供了Windows操作系统和Chrome浏览器的快捷键大全,以及Xshell的快捷键操作,旨在帮助用户提高工作效率和界面管理。
1248 2
|
XML JSON API
1688商品详情API接口系列
1688商品详情API接口系列是阿里巴巴旗下1688网站为开发者提供的一系列应用程序编程接口,旨在帮助开发者或企业获取1688平台上特定商品的详细信息。以下是对1688商品详情API接口系列的详细概述:
栈的几个经典应用,真的绝了
文章总结了栈的几个经典应用场景,包括使用两个栈来实现队列的功能以及利用栈进行对称匹配,并通过LeetCode上的题目示例展示了栈在实际问题中的应用。
栈的几个经典应用,真的绝了
WK
|
数据安全/隐私保护
QLineEdit
QLineEdit是Qt框架中的单行文本输入框控件,支持文本输入、占位符、密码模式、输入限制等功能。常用成员函数包括设置文本、占位符、显示模式、最大长度等。提供多种信号,如文本变化、编辑、回车等。支持添加动作和清除按钮,可定制样式,适用于登录、搜索等场景。
WK
766 0
|
IDE 开发工具 数据安全/隐私保护
【干货】Qt Creator快速下载、安装、使用教程
【干货】Qt Creator快速下载、安装、使用教程
|
API UED
【Qt 学习笔记】Qt窗口 | 状态栏 | QStatusBar的使用及说明
【Qt 学习笔记】Qt窗口 | 状态栏 | QStatusBar的使用及说明
3125 4
QT设置widget背景图片
该内容介绍如何在Qt中为控件添加背景图片。主要方法包括:1) 在样式表中使用`border-image`属性指定控件及其背景图片;2) 使用调色板`QPalette`设置图片,但可能导致窗口显示不下;3) 在`paintEvent`中绘制图片,适合自定义绘图但不适用于子窗口;4) 通过覆盖一个大小与窗口相同的`QLabel`来设置背景图片,可实现动态背景。推荐使用样式表设置背景,简单高效且适合子窗口。
1598 3
程序技术好文:部分ARM汇编指令解读
程序技术好文:部分ARM汇编指令解读

热门文章

最新文章