为了更好地实现人机交互,比如Windows及Linux等系统均会提供一系列的标准对话框来完成特定场景下的功能,如选择字号大小、字体颜色等。在PyQt5中定义了一系列的标准对话框类,让使用者能够方便和快捷地通过各个类完成字号大小、字体颜色以及文件的选择。QDialog类的子类主要有
QMessageBox
、QFileDialog
、QFontDialog
、QInputDialog
等。
方法 | 描述 |
---|---|
setWindowTitle() | 设置对话框标题 |
setWindowModality() | 设置窗口模态:Qt.NonModal(非模态,可以和程序的其他窗口交互)、Qt.WindowModal(窗口模态,程序在未处理完当前对话框时,将阻止和对话框的父窗口进行交互)、Qt.ApplicationModal(应用程序模态,阻止和任何其他窗口进行交互) |
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_())