【发布时间】:2017-03-30 07:54:26
【问题描述】:
我怎样才能完全删除 QApplication 实例,以便可以在剪切库中重新创建它。 如果我有这样的代码:
int main(int argc, char ** argv) {
QApplication *app = new QApplication(argc, argv);
MyWindow dialog;
dialog.show();
app->exec();
return 0
}
我希望能够在退出应用程序后删除实例(在 app.exec() 之后关闭应用程序) 我已尝试执行以下操作:
app->setQuitOnLastWindowClosed(false);
app->quit();
delete app;
但没有一个可以工作。我想像以前没有创建的那样删除 QApplication 实例。 如果我没有在 main 中定义 QApplication,我的共享库中的 QApplication 总是可以工作的。
- 库 (lib) 和主应用程序 (app) 使用不同的 Qt 副本。
- 我正在开发应用程序,库已导入到我的应用程序中。
- 关闭第一个对话框后,我正在使用一个事件来触发它正在等待此事件的库中的线程。
【问题讨论】:
-
据我所知你不能。
QApplication使用static或在程序退出之前一直存在的全局变量。
标签: c++ qt exit qapplication