开发手册 欢迎您!
软件开发者资料库

PyQt - QDialog类

PyQt QDialog类 - 从简介,Hello World,主要类,使用Qt设计器,信号和插槽,布局管理,QBoxLayout,QGridLayout,QFormLayout类,QLabel小部件,QLineEdit小部件,QPushButton小部件,QRadioButton小部件,QCheckBox小部件,QComboBox开始学习PyQt Widget,QSpinBox小部件,QSlider小部件和信号,QMenuBar,QMenu和QAction小部件,QToolBar小部件,QDialog类,QMessageBox,QInputDialog,QFontDialog小部件,QFileDialog小部件,QTabWidget,QStackedWidget,QSplitter小部件,多文档界面,拖放,数据库处理,Drawing API,BrushStyle Constants,QClipboard,QDockWidget,QStatusBar Widget,QListWidget,QPixmap Class,QScrollBar Widget,QCalendar Widget。

QDialog 小部件提供了一个顶级窗口,主要用于收集用户的响应.它可以配置为模态(它阻止其父窗口)或无模式(可以绕过对话框窗口).

PyQt API有许多预配置的Dialog小部件,如InputDialog,FileDialog,FontDialog等.

示例

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

顶级QWidget窗口上的PushButton在单击时会生成一个Dialog窗口.对话框在其标题栏上没有最小化和最大化控件.

用户无法在后台下载此对话框,因为其WindowModality设置为ApplicationModal.

import sysfrom 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()

上面的代码产生以下输出 :

QDialog Class Output