PyQt5 笔记6 – 对话框(QDialog)
1、主窗口弹出对话框
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog, QPushButton
from PyQt5.QtCore import Qt
class MainWindow(QMainWindow):
"""
主窗口类
"""
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
# 设置主窗口的标题及大小
self.setWindowTitle('主窗口')
self.resize(400, 300)
# 创建按钮
self.btn = QPushButton(self)
self.btn.setText('弹出对话框')
self.btn.move(50, 50)
self.btn.clicked.connect(self.show_dialog)
def show_dialog(self):
self.dialog = Dialog()
self.dialog.show()
self.dialog.exec()
class Dialog(QDialog):
"""
对话框类
"""
def __init__(self, parent=None):
super(Dialog, self).__init__(parent)
# 设置对话框的标题及大小
self.setWindowTitle('对话框')
self.resize(200, 200)
# 设置窗口为模态,用户只有关闭弹窗后,才能关闭主界面
self.setWindowModality(Qt.ApplicationModal)
if __name__ == '__main__':
app = QApplication(sys.argv)
demo = MainWindow()
demo.show()
sys.exit(app.exec())