我想使用'connect',但如果我写
QApplication a(argc, argv);
connect ....
a.exec();
我在最后一个命令(a.exec
)后被阻止。但是,如果我不使用此命令,则回调不起作用。
重要的是要说我不打开任何窗口。我想要工作的只是'connect'选项。
答案 0 :(得分:2)
您无需致电app.exec()
。你可以做的是定期打电话QCoreApplication::processEvents()
。但是,除非您移植非Qt应用程序,否则不建议这样做。 Qt中的许多功能取决于事件循环,如果您尝试绕过它,您将遇到问题。如果可能的话,最好让自己的代码与事件循环一起使用。
答案 1 :(得分:1)
如果您没有使用GUI,请使用QCoreApplication而不是QApplication。
对不起,不是一个好的答案。
您应该考虑将连接移动到Qt主事件循环中的某些内容。如果那不是一个选项,你可能需要分离另一个运行QCoreApplication调用的线程。