本页内容

小工具教程

简介

小部件是使用Qt构建图形用户界面(GUI)应用程序的基本构建模块。每个GUI组件(例如按钮、标签、文本编辑器)都是一个widget ,它被放置在用户界面窗口的某个位置,或作为独立窗口显示。 每种小部件类型都由QWidget 的一个子类提供,而 本身是QObject 的一个子类。

QWidget 并非抽象类。它可作为其他小部件的容器,且只需极少的工作量即可通过继承其子类来创建新的自定义小部件。QWidget 常用于创建一个窗口,并在其中放置其他QWidget对象。

与QObject类似,QWidget也可以通过父对象来创建,以指示所有权关系,从而确保对象在不再使用时被删除。 对于小部件而言,这种父子关系还有一层额外的含义:每个子小部件都显示在其父小部件所占用的屏幕区域内。这意味着,当您删除一个窗口小部件时,其中包含的所有子小部件也会被删除。

编写 Main 函数

Qt GUI 示例遵循以下模式:有一个main.cpp 文件,其中包含初始化应用程序的标准代码,此外还有任意数量的其他源文件/头文件,这些文件包含应用程序逻辑和自定义 GUI 组件。

main.cpp 中典型的main() 函数如下所示:

#include <QtWidgets>

// Include header files for application components.
// ...

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    // Set up and show widgets.
    // ...

    return app.exec();
}

首先,构建一个QApplication 对象,该对象可通过命令行传递的参数进行配置。在创建并显示控件后,调用QApplication::exec() 来启动 Qt 的事件循环。控制权将移交给 Qt,直到该函数返回。最后,main() 返回QApplication::exec() 返回的值。

简单的控件示例

以下每个简单的控件示例均完全编写在main() 函数中。

实际应用中的控件示例

在这些更高级的示例中,用于创建控件和布局的代码存储在其他文件中。例如,主窗口的图形用户界面(GUI)可能是在QMainWindow 子类的构造函数中创建的。

构建示例

如果您是通过安装二进制包获取的 Qt,或者您自己编译了 Qt,那么本教程中描述的示例应该已经构建完成并可运行。如果您希望修改并重新编译它们,请按照以下步骤操作:

  1. 在命令提示符下,进入包含您已修改的示例的目录。
  2. 输入 `qmake ` 并按下 `Return`。如果此操作无效,请确保可执行文件已在您的路径中,或者输入其完整路径。
  3. 在 Linux/Unix 和 macOS 上,输入 `make ` 并按 `Return`;在安装了 Visual Studio 的 Windows 系统上,输入 `nmake ` 并按 `Return`。

当前目录下将生成一个可执行文件。在 Windows 系统上,该文件可能位于debug 或release 子目录中。您可以运行该可执行文件,查看示例代码的运行效果。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.