内容简介
本文简单整理QApplication, QGuiAppication, QCoreApplication这三个对象之间的区别。
# QCoreApplication
基类。在命令行应用程序中,应该使用它。
# QGuiApplication
基类 + GUI功能。在QML应用程序中,应该使用它。「QML」是一种用户界面标记语言,是一种指令使的语言,与CSS有些相似。
# QApplication
基类 + GUI + 对Widget支持。在QtWidgets应用程序中,应该使用它。
# Event loop
字面上翻译就是「事件循环」,详细的解释需要阅读文档和一些Qt相关的书籍。但简而说:事件循环是一个无限循环,它在应用程序的后台运行,处理从操作系统传入的事件(鼠标移动,点击,绘制事件,硬件事件等)以及内部通信(信号和插槽)。调用app.exec()时,事件循环开始,这也是“在执行app.exec()后,后续代码不会再继续执行”的原因。
参考文献
differences between QApplication, QGuiAppication, QCoreApplication classes