我在Qt和C ++中编写了一个应用程序。
main
包含的是调用MainUi类,如果在主UI初始化期间出现问题,则MainUi类正在调用QApplication::exit()
。应用程序一开始似乎很接近,但是停靠栏中仍然存在图标,这意味着该应用程序并未真正退出。
以下是MainUI类使用的代码。
void MainUI::InitResult() {
if(error != ERROR_NONE) {
QApplication::processEvents();
Splashscreen->Ui_Splashscreen_failure();
Timer timer(4000);
Splashscreen->close();
emit error_init();
}
else
{
QApplication::processEvents();
Puls_Splashscreen->close();
QApplication::setOrganizationName(COMPANY_NAME);
QApplication::setApplicationName(PRODUCT_NAME);
InitUserInterface();
}
}
main.cpp 正在设法实例化MainUI类,但没有任何close()
/ quit()
动作
MainUI MyWindow(*DeviceFramework);
QObject::connect(&MyWindow, SIGNAL(error_init()),&app, SLOT(quit()));
MyWindow.InitApplication();
return app.exec();
InitApplication
正在启用管理。在处理结束时,MainUI接收信号并使用插槽InitResult()
来处理错误。我创建了另一个信号init_error()
,由InitResult()
发出以通知问题并要求关闭该应用。
有什么想法吗?