PyQt5 筆記6 -- 對話方塊(QDialog)
阿新 • • 發佈:2018-12-16
PyQt5 筆記6 – 對話方塊(QDialog)
1、主視窗彈出對話方塊
import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog, QPushButton 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) # 設定視窗為模態,使用者只有關閉彈窗後,才能關閉主介面 dialog.setWindowModality(Qt.ApplicationModal) if __name__ == '__main__': app = QApplication(sys.argv) demo = MainWindow() demo.show() sys.exit(app.exec())