gpt4 book ai didi

c++ - 在Qt main函数中,QApplication是如何获知Mainwindow的?

转载 作者:行者123 更新时间:2023-12-01 12:57:44 30 4
gpt4 key购买 nike

查看几乎每个 Qt 教程中都可以找到的最简单的 Qt Widget 示例应用程序:

#include "notepad.h"
#include <QApplication>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Notepad w;
w.show();

return a.exec();
}

有一件事让我很困惑。这里主要有两个变量awa.exec() 启动 Qt 的主循环,它假设与主 GUI 组件 w 交互。但是,它们都在堆栈上,我没有看到任何代码以某种方式将 w 传递给 a。那么a是如何知道w的存在的呢?w 的构造函数是否初始化了一个静态数据结构,a 可以访问该静态数据结构来检查顶级小部件?

最佳答案

Qt 预处理您的代码并在编译之前构建真正的 c++ 代码,此时 QApplication 将所有 Q 对象包装在 main.cpp 文件中并从中构建其余代码。

关于c++ - 在Qt main函数中,QApplication是如何获知Mainwindow的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46231431/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com