PyQt QDialog 类

PyQt QDialog 类

一个 QDialog 小部件是一个顶级窗口,主要用于收集用户的响应。可以将其配置为 Modal (它会阻塞其父窗口)或者 Modeless (对话框可以被绕过)。

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

示例

在下面的示例中,对话框窗口的WindowModality属性决定它是模态对话框还是非模态对话框。对话框中的任意一个按钮可以被设置为默认按钮。当用户按下Escape键时,对话框通过QDialog.reject()方法被丢弃。

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

因为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教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程