gpt4 book ai didi

qt - 为什么应该只有一个 QApplication

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

这里引用 Qt 文档:

For any GUI application using Qt, there is precisely one QApplication object

很明显。但我不知道为什么。我在面试的时候被问到这样的问题,现在我找不到合适的答案,谁能解释一下?

最佳答案

QCoreApplication文档给出提示:

QCoreApplication contains the main event loop, where all events from the operating system (e.g., timer and network events) and other sources are processed and dispatched. It also handles the application's initialization and finalization, as well as system-wide and application-wide settings.

并且在任何给定时间(在单个线程中)只能运行一个事件循环,因此不同的 QCoreApplication 对象需要相互调用。在处理事件队列时,每个人只能看到整个交互的一部分。对我来说似乎没有吸引力......

此外,我认为 QCoreApplication 基本上是整个进程的抽象,因此在 Qt 进程和 QCoreApplication 对象之间强制执行 1:1 对应关系是有意义的.

从技术上讲,QCoreApplication::instance() 或相应的 qApp 宏显然需要单个 QCoreApplication 实例。

关于qt - 为什么应该只有一个 QApplication,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11617702/

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