在pyqt中禁用窗口功能

问题描述 投票:2回答:2

我已经在带有Qt库的python中创建了QMainWindow。当用户单击关闭按钮时,我提示一个警告QMessageBox(是/否)。我想完全禁用主窗口的功能,直到用户对第二个窗口选择是或否。 (我想要“冻结”主窗口之类的东西。)我已经为主窗口尝试了“ self.setEnabled(False)”,但是用户仍然可以单击最小化和最大化按钮。

谢谢你。

python qt user-interface pyqt
2个回答
1
投票

您想要的是模态对话框。请查看QDialog的文档以及“模态”对话框的“详细描述”中的部分。模态对话框将接管UI,因此它是与用户进行交互的唯一点,直到被关闭为止,而无模态对话框则允许与应用程序其他窗口的持续交互。文档讨论了使对话框模态化的各种方法以及每种方法的利弊。

QDialog


0
投票

尝试在构造函数上设置窗口模式。这是一个例子:

def _init_(self):
    self.setWindowModality(QtCore.Qt.ApplicationModal))
© www.soinside.com 2019 - 2024. All rights reserved.