PyQt5之QDialog对话框控件

PyQt5之QDialog对话框控件

为了更好地实现人机交互,比如Windows及Linux等系统均会提供一系列的标准对话框来完成特定场景下的功能,如选择字号大小、字体颜色等。在PyQt5中定义了一系列的标准对话框类,让使用者能够方便和快捷地通过各个类完成字号大小、字体颜色以及文件的选择。QDialog类的子类主要有QMessageBoxQFileDialogQFontDialogQInputDialog等。

一、QDialog类中的常用方法

方法 描述
setWindowTitle() 设置对话框标题
setWindowModality() 设置窗口模态:Qt.NonModal(非模态,可以和程序的其他窗口交互)、Qt.WindowModal(窗口模态,程序在未处理完当前对话框时,将阻止和对话框的父窗口进行交互)、Qt.ApplicationModal(应用程序模态,阻止和任何其他窗口进行交互)

二、QDialog的使用

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

class Win(QWidget):
    def __init__(self):
        super().__init__()
        self.setGeometry(200, 200, 400, 400)
        self.setWindowTitle('QDialog的使用')

        self.btn = QPushButton(self)
        self.btn.setText('弹出对话框')
        self.btn.clicked.connect(self.showDialog)

    def showDialog(self):
        dialog = QDialog()
        btn = QPushButton('ok',dialog)
        dialog.setWindowTitle('Dialog')
        dialog.setWindowModality(Qt.ApplicationModal)
        dialog.exec_()

if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = Win()
    form.show()
    sys.exit(app.exec_())

运行结果如下:PyQt5之QDialog对话框控件_第1张图片

你可能感兴趣的:(Python)