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的快捷键和信号-槽连接来实现。

目录
相关文章
WK
|
20天前
|
数据安全/隐私保护
QTextEdit
QTextEdit是Qt框架中的高级文本编辑控件,支持富文本格式、图像、列表和表格的插入,优化处理大型文档,支持HTML和Markdown格式,提供段落和字符级别的格式控制,以及占位文本提示。常用成员函数包括设置和获取文本内容、文本格式设置等。QTextEdit还提供了多种信号和丰富的交互功能,适用于需要处理复杂文本的应用场景。
WK
34 1
|
存储 C++
14 QT - QMainWindow
14 QT - QMainWindow
49 0
|
前端开发 数据可视化 C++
Qt 之 QWidget QLabel
Qt 之 QWidget QLabel
108 0
WK
|
21天前
|
C++ 开发者
QDialog
QDialog是Qt框架中的对话框基类,支持模态和非模态两种模式。它提供了丰富的函数,如exec()、show()、accept()和reject(),用于控制对话框的行为。QDialog可以包含多种控件,用于收集用户输入或显示信息。此外,Qt还提供了一些常用的标准化对话框,如QColorDialog、QFileDialog、QFontDialog、QInputDialog和QMessageBox,方便开发者快速实现特定功能。
WK
22 2
WK
|
22天前
|
数据可视化 开发者 容器
QWidget类
QWidget 是 Qt 框架中的基础类,用于创建用户界面的可视化组件。它是所有 UI 组件的基类,提供绘制、布局、事件处理、样式设置和部件通信等功能。常见子类包括 QMainWindow、QDialog、QPushButton 等,支持灵活的窗口管理和丰富的用户交互。
WK
14 3
WK
|
21天前
|
C++ 开发者
QPushButton
QPushButton 是 Qt 框架中的一个控件,用于创建可按压的按钮。它可以作为独立控件或嵌入其他窗口中,常用于添加按钮并绑定点击信号。支持设置文本、图标、快捷键等属性,可通过样式表自定义外观。示例代码展示了如何创建带有图标的按钮并连接点击信号。
WK
31 1
|
2月前
|
iOS开发 MacOS
(11)QWidget的使用(two)
本文介绍了如何在Qt框架中使用QWidget类来设置和获取窗口的图标和标题,以及如何进行窗口状态和不透明度的设置。
18 3
|
2月前
(10)QWidget的使用(one)
文章介绍了QWidget的使用,包括如何获取和设置QWidget的大小和位置、设置窗口固定大小、限定窗口大小、坐标系统转换、内容边距、鼠标指针形状以及自定义光标的使用。
27 0
(10)QWidget的使用(one)
|
4月前
Qt绘图之QWidget
Qt绘图之QWidget
89 1
|
6月前
Qt之QMainWindow
Qt之QMainWindow