【发布时间】:2013-08-07 09:56:43
【问题描述】:
我正在尝试将修改后的 qt-programm 作为库运行。我需要它不要阻塞主执行。
所以我想做的是运行 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 不会阻塞主执行呢?
【问题讨论】:
标签: c++ multithreading qt asynchronous concurrency