1
我试图运行一个修改后的qt-programm作为库。我需要它不能阻止主要执行。如何异步运行整个QApplication?
所以我想要做的就是运行QApplication并开始执行主应用程序。我如何实现这一目标?
我的第一个想法是运行它在一个单独的线程。
void MyClass::execute() {
someClass = someClass::instance();
std::thread t1(&MyClass::startApp, this);
someClass->someFunction();
someClass->doMoreStuff();
}
void MyClass::startApp() {
QApplication app(argc, argv);
app.exec();
QCoreApplication::quit();
}
但这会导致Call to '__invoke' is ambiguous
错误。虽然我不知道为什么/在哪里__invoke
被覆盖以及如何处理这个错误。 :(
那么,怎样才能做到我的QApplication的不阻塞的主要执行?
感谢您的回答。所以你建议不要使用QApplication。当我尝试不使用它时,出现了几个错误,告诉我要创建一个QApplication。你能否更详细地解释你的计划? – Senad
您打算将Qt应用程序移植到您想用于非Qt项目的库吗?这看起来不是一个好主意...... – evilruff
是的,这就是我打算做的。我想在我的应用程序中使用PhantomJS。我需要访问PhantomJS WebPages。 – Senad