Bootstrap

qt QApplication详解

一、概述

QApplication是Qt应用程序的基础类,负责设置和管理应用的环境。它的主要功能包括:初始化应用程序、管理事件循环、处理命令行参数、提供全局设置(如样式和调色板)以及创建和管理主窗口。通常在main函数中创建QApplication实例后,应用程序通过exec()方法进入事件循环,开始响应用户输入和其他事件。

二、重要成员函数

1、QApplication(int &argc, char argv)

  • 构造函数,用于初始化窗口系统并构造一个应用程序对象。argc和argv是命令行参数的数量和参数数组。全局指针qApp指向这个应用程序对象。

2、aboutQt()

  • 显示一个关于Qt版本等信息的消息对话框。

3、closeAllWindows()

  • 关闭所有顶层窗口。窗口以随机顺序关闭,直到一个窗口不接受关闭事件。

4、widgetAt(const QPoint &p)

  • 返回在给定位置p上的窗口部件。

5、topLevelWidgets()

  • 返回所有顶层窗口部件的列表。

6、setStyle(QStyle style)

  • 设置应用程序的样式

7、exec()

  • 启动事件循环。

8、quit()、exit(int )

  • 退出应用程序。

9、aboutToQuit()

  • 这是一个信号,当应用程序即将退出时发射。
void onAboutToQuit() {
    // 执行清理或保存工作
    qDebug("Application is about to quit!");
}

int main(int argc, char *argv[])
{
    qDebug() << "main";
    QApplication a(argc, argv);
    a.aboutQt();

    QObject::connect(&a, &QApplication::aboutToQuit, onAboutToQuit);

    QPushButton button("Close");

    button.resize(200, 100);
    button.show();
    QObject::connect(&button, &QPushButton::clicked, &a, &QApplication::quit);

    return a.exec();
}

觉得有帮助的话,打赏一下呗。。

           

;