我有一个Qt应用程序,它使用QMainWindow
派生类作为主UI。在启动时,我想进行一些安全检查,如果失败,则向用户显示一条消息并关闭主窗口。目前,我在QMainWindow
构造函数中进行这些检查,但如果我调用close
方法,则不会发生任何事情,并且应用程序会继续运行。例如:启动时关闭QMainWindow?
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
{
setupUi(this);
...
if (checkFails())
{
QMessageBox::warning(this, tr("Error"), tr("You cannot run this app"));
// This has no effect
close();
}
}
我也可以做检查的主要功能,但后来我失去显示特定语言的消息框(该tr
宏只在QObject
派生类的的外观作品的能力)
有关如何在启动时关闭主窗口或使tr
宏在QObject
派生类之外工作的任何想法?