PyQt QDialog类

PyQt QDialog类

一个 QDialog widget展示了一个顶层窗口,主要用于收集用户的响应。它可以被配置为 模态 (它阻止它的父窗口)或 无模式 (对话窗口可以被绕过)。

PyQt API有许多预配置的对话框部件,如InputDialog, FileDialog, FontDialog等。

例子

在下面的例子中,Dialog窗口的WindowModality属性决定了它是有模式还是无模式。对话框上的任何一个按钮都可以被设置为默认。当用户按下Escape键时,该对话框被QDialog.reject()方法丢弃。

顶层QWidget窗口上的一个PushButton,当被点击时,产生一个Dialog窗口。对话框在其标题栏上没有最小化和最大化控制。

用户不能把这个对话框放在后台,因为它的WindowModality被设置为ApplicationModal。

import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *

def window():
   app = QApplication(sys.argv)
   w = QWidget()
   b = QPushButton(w)
   b.setText("Hello World!")
   b.move(50,50)
   b.clicked.connect(showdialog)
   w.setWindowTitle("PyQt Dialog demo")
   w.show()
   sys.exit(app.exec_())

def showdialog():
   d = QDialog()
   b1 = QPushButton("ok",d)
   b1.move(50,50)
   d.setWindowTitle("Dialog")
   d.setWindowModality(Qt.ApplicationModal)
   d.exec_()

if __name__ == '__main__':
   window()

上述代码产生了以下输出 —

PyQt - QDialog类

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程