如何在PySide2中创建模态对话框
时间: 2024-11-25 13:13:01 浏览: 5
【Pyside资源】 Pyside2 中嵌入 Matplotlib 实现画图功能
在PySide2中,你可以通过`QtWidgets`模块创建模态对话框(Modal Dialogs)。模态对话框意味着主窗口会被阻塞直到对话框关闭。下面是一个简单的例子,展示如何创建一个QDialog作为模态对话框:
```python
from PySide2.QtWidgets import QApplication, QDialog, QPushButton
# 创建一个基础的对话框类
class ModalDialog(QDialog):
def __init__(self, parent=None):
super(ModalDialog, self).__init__(parent)
# 设置对话框布局
layout = QVBoxLayout()
button = QPushButton("确定", self)
button.clicked.connect(self.accept) # 点击按钮接受对话框
layout.addWidget(button)
# 设置对话框属性
self.setWindowTitle('模态对话框')
self.setLayout(layout)
self.setModal(True) # 设置为模态模式
# 在主应用中使用对话框
if __name__ == "__main__":
app = QApplication([])
dialog = ModalDialog()
dialog.exec_() # 显示并运行对话框
# 主窗口在此期间会暂停响应,直到对话框关闭
app.exec_()
```
在这个示例中,当你点击"确定"按钮时,对话框会接受(accept),主窗口才会恢复响应。
阅读全文