北京网站建设哪家专业,网站在线提交询盘系统 能直接发到邮箱,泉州专业网站开发公司,重庆安全员证书查询系统一、概述
QMainWindow继承自QWidget#xff0c;并提供了一个预定义的布局#xff0c;将窗口分成了菜单栏、工具栏、状态栏和中央部件区域。这些区域共同构成了一个功能丰富的主窗口#xff0c;使得应用程序的开发更加简单和高效。 二、QMainWindow的常用组件及功能 菜单栏并提供了一个预定义的布局将窗口分成了菜单栏、工具栏、状态栏和中央部件区域。这些区域共同构成了一个功能丰富的主窗口使得应用程序的开发更加简单和高效。 二、QMainWindow的常用组件及功能 菜单栏QMenuBar 位于主窗口顶部主窗口标题栏下面。一个主窗口最多只有一个菜单栏。可以使用QMainWindow类的menubar()函数获取主窗口菜单栏指针并添加菜单和菜单项。菜单项是通过QAction类来抽象表示的QAction类不仅可以用于菜单还可以用于工具栏和快捷键等。 工具栏QToolBar 主窗口可以包含一个或多个工具栏用于放置常用操作的快捷按钮。使用addToolBar()方法将工具栏添加到主窗口。工具栏中的按钮可以绑定特定的操作方便用户进行快速操作。工具栏是一个可移动的窗口其停靠区域由QToolBar的allowAreas属性决定包括左侧、右侧、顶部和底部等。 状态栏QStatusBar 位于主窗口底部用于显示应用程序的状态信息。使用statusBar()方法获取状态栏对象并通过showMessage()方法显示文本消息。状态栏中可以添加小部件以显示更多的信息或控件。 中心部件Central Widget 中心部件区域是用来放置应用程序的主要内容的部分。可以包含其他的QWidget或自定义的QWidget派生类。使用setCentralWidget()方法将中心部件设置为特定的QWidget。 停靠部件QDockWidget 也称浮动窗口可以有多个。停靠部件可以在主窗口的边缘停靠也可以浮动显示。可以使用addDockWidget()方法将停靠部件添加到主窗口中并设置其允许停靠的区域。 三、重要方法
QMainWindow(QWidget *parent nullptr)创建一个 QMainWindow 对象可以指定父对象。setCentralWidget(QWidget *widget)设置主窗口的中央小部件。中央小部件是主窗口的主要内容区域。menuBar()返回主窗口的菜单栏指针。addToolBar(Qt::ToolBarArea area, QToolBar *toolbar)在指定区域添加工具栏。statusBar()返回主窗口的状态栏指针。setWindowTitle(const QString title)设置窗口标题。setWindowIcon(const QIcon icon)设置窗口图标。setGeometry(int x, int y, int width, int height)设置窗口的位置和大小。resize(int width, int height)重新设置窗口大小。 addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget)添加停靠窗口部件。
#include QApplication
#include QMainWindow
#include QMenuBar
#include QToolBar
#include QStatusBar
#include QAction
#include QDockWidget
#include QTextEdit
#include QVBoxLayout
#include QLabel int main(int argc, char *argv[]) { QApplication app(argc, argv); QMainWindow mainWindow; mainWindow.setWindowTitle(QMainWindow Example); // 创建菜单栏和菜单 QMenuBar *menuBar mainWindow.menuBar(); QMenu *fileMenu menuBar-addMenu(File); QAction *openAction fileMenu-addAction(Open); QAction *saveAction fileMenu-addAction(Save); // 创建工具栏 QToolBar *toolBar mainWindow.addToolBar(Toolbar); toolBar-addAction(openAction); toolBar-addAction(saveAction); // 创建状态栏 QStatusBar *statusBar mainWindow.statusBar(); statusBar-showMessage(Ready); // 创建中央部件 QWidget *centralWidget new QWidget(mainWindow); QVBoxLayout *layout new QVBoxLayout(centralWidget); QLabel *label new QLabel(Central Widget Content); layout-addWidget(label); mainWindow.setCentralWidget(centralWidget); // 创建停靠部件 QDockWidget *dockWidget new QDockWidget(Dock Window, mainWindow); dockWidget-setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); QLabel *dockLabel new QLabel(Dock Window Content); dockWidget-setWidget(dockLabel); mainWindow.addDockWidget(Qt::LeftDockWidgetArea, dockWidget); mainWindow.show(); return app.exec();
}
觉得有帮助的话打赏一下呗。。