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