pyqt5 QMainWindow如何设置为系统模态窗口
时间: 2024-05-08 17:21:28 浏览: 19
要将PyQt5的QMainWindow设置为系统模态窗口,可以使用setWindowModality方法。
下面是一个示例代码:
```
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
class MyMainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 300, 200)
self.setWindowTitle('MyMainWindow')
self.button = QPushButton('Open', self)
self.button.setGeometry(50, 50, 200, 100)
self.button.clicked.connect(self.openSystemModalDialog)
def openSystemModalDialog(self):
dialog = QDialog(self)
dialog.setWindowModality(Qt.ApplicationModal)
dialog.exec_()
if __name__ == '__main__':
app = QApplication([])
win = MyMainWindow()
win.show()
app.exec_()
```
在这个示例中,我们创建了一个带有一个按钮的QMainWindow。当用户单击按钮时,我们将打开一个QDialog,并将其设置为系统模态窗口。使用setWindowModality方法,我们可以指定模态性为Qt.ApplicationModal,这意味着该对话框将在整个应用程序中都是模态的。