QCoreApplication:为非界面类项目提供一个事件监听循环。
QGuiApplication:以QtGui模块基础开发的界面项目需要应用环境。
QApplication:以QWidget模块基础开发的界面项目需要应用环境。
可以简单总结为,如果是非界面项目开发,建议使用QCoreApplication;如果是界面类项目开发,建议使用QApplication。
报错处理:
QEventLoop: Cannot be used without QApplication
比如有个QT动态库被python调用的时候报上面的错误,导致信号槽失效或者QThread线程失效等问题。
可能的原因:
QT内部用到了事件循环,比如QThread用到了事件循环,由于QT动态库没有main函数,内部没有QApplication a(argc, argv);return a.exec();没有执行事件循环的程序,所以需要手动添加。但又不能运行QApplication (或 QGuiApplication 或 QCoreApplication)中的exec(),因为这是阻塞的,真正需要运行的是processEvents()
对于没有界面的事件循环可以这样写:
#include <QCoreApplication>
static int argc = 1

最低0.47元/天 解锁文章
1043

被折叠的 条评论
为什么被折叠?



