如何在pyqt中创建模态窗口?

问题描述 投票:0回答:1

我查看了文档,发现了“self.setWindowModality(QtCore.Qt.WindowModal)”。
我将此函数添加到我的“init”函数中,但仍然无法创建模式对话框。

任何帮助将不胜感激,
谢谢你。

python python-2.7 modal-dialog pyqt pyqt4
1个回答
32
投票

QDialog
setModal()
,如here

正如文档所述:

默认情况下,此属性为

False
show()
会以无模式方式弹出对话框。将此属性设置为 true 相当于将
QWidget.windowModality
设置为
Qt.ApplicationModal

正如@sebastian 指出的,你可以使用

exec()
。然而,最好使用
exec_()
,因为塞巴斯蒂安提到的也是一个 python 调用。

示例:

my_dialog = QDialog(self) 
my_dialog.exec_()  # blocks all other windows until this window is closed.

如果这没有帮助,请发布您的代码,我会看看。

© www.soinside.com 2019 - 2024. All rights reserved.