0
int main(int argc, char** argv) 
{
   QApplicaiton app(argc, argv);

   // parsing other arguments of argc,argv

   return app.exec();
}

我的问题如下:在解析其他参数期间可能会返回函数(未到达 app.exec()),当 QApplication 对象被删除时,我收到以下错误消息QThread: Destroyed while thread is still running。作为一种可能的解决方案,我尝试在完成参数解析后创建 QApplication 。

app.thread()->quit();在 return 声明之前尝试过,但它没有帮助。

创建 QApplication 对象时,它会从 argc、argv 中删除特定参数(-style 等)。

是否可以在不创建 QApplication 对象的情况下手动从 argc、argv 获取它们?

奇怪的是,在单线程程序中QThread: Destroyed while thread is still running出现错误。

到目前为止,我发现的最好的“解决方案”是动态创建 QApplication 而不是删除它。内存泄漏不是问题,因为它是在程序退出之前泄漏的。

4

0 回答 0