Tôi có ứng dụng Qt sử dụng lớp học QMainWindow
-dành cho giao diện người dùng chính. Khi khởi động tôi muốn thực hiện một số kiểm tra bảo mật và nếu chúng không thành công, hiển thị một thông báo cho người dùng và đóng cửa sổ chính. Hiện tại tôi thực hiện các kiểm tra này trong hàm tạo QMainWindow
, nhưng nếu tôi gọi phương thức close
, không có gì xảy ra và ứng dụng tiếp tục chạy. Ví dụ:Đóng QMainWindow khi khởi động?
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();
}
}
Ngoài ra tôi có thể tiến hành kiểm tra tại các chức năng chính nhưng sau đó tôi mất khả năng hiển thị một hộp thông báo ngôn ngữ cụ thể (các tr
vĩ mô chỉ hoạt động trong một lớp -derived QObject
bởi vẻ của mọi thứ.)
Bất kỳ ý tưởng nào về cách đóng cửa sổ chính khi khởi động hoặc thực hiện tác vụ macro tr
bên ngoài lớp học có nguồn gốc từ QObject
?