我有一個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
派生類之外工作的任何想法?