我有一个QDialog,我希望它是模态的,即我希望用户完全被锁定在GUI之外,直到我以编程方式隐藏对话框。
这是一个可重复的小例子:
QDialog *dialog = new QDialog(this, Qt::Splashscreen);
dialog->setModal(true);
dialog->setWindowModality(Qt::ApplicationModal);
dialog->exec();
通过单击对话框外部可以轻松关闭此功能。
按esc
键也会关闭对话框但是在我的自定义实现中,我正在捕捉事件并单独处理它。
这似乎只发生在Windows上,在Linux上它的行为符合要求。
按alt + F4
也会关闭对话框,无论是否捕捉到关键事件。