Qt 中组件的组成框架
Qt 窗口是通过 QMainWindow 类来实现的。QMainWindow 是一个为用户提供主窗口程序的类,继承自 QWidget 类,并且提供了一个预定义的布局。
QMainWindow 包含以下组件:
- 菜单栏(menu bar):位于主窗口顶部、标题栏下面。
- 工具栏(tool bars):本质上就是把菜单中的一些常用选项直接放到工具栏中方便快捷使用。
- 中心部件(central widget):窗口最核心的部分,由用户的组件构成,是许多应用程序的基础,如文本编辑器、图片编辑器等。
- 状态栏(status bar):类似于记事本状态显示,显示一些信息给用户查看。
- 浮动窗口(dock widgets):又称铆接部件,即子窗口。

菜单栏 QMenuBar
Qt 中的菜单栏是通过 QMenuBar 这个类来实现的。一个主窗口最多只有一个菜单栏。
其中涉及三个核心类:
- QMenu:菜单。
- QMenuBar:菜单栏。
- QAction:菜单项(工具栏中也使用同一个 QAction 类)。
实操步骤
- 创建 MainWindow,而不是 QWidget 文件。
- 在 ui 文件中输入文本时会弹出新菜单(QMenu),继续向下填写则是创建菜单项(QAction)。
代码实现
在 mainwindow.h 中添加头文件声明:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
public slots:
void handle();
:
Ui::MainWindow *ui;
};


