PyQt4预定义对话框

PyQt4中的对话框

对话窗口和对话框是现代GUI应用程序必不可少的一部分。生活中“对话”被定义为发生在两人或更多人之间的会话。而在计算机世界,“对话”则时人与应用程序之间的“会话”。人及对话的形式有在输入框内键入内容,修改已有的数据,改变应用程序的设置等。对话框在人机交互中扮演着非常重要的角色。

从本质上说,只存在两种形式的对话框:预定义对话框和定制对话框。

预定义对话框

QInputDialog 输入对话框

QInputDialog提供了一种获取用户单值数据的简洁形式。它接受的数据有字符串,数字和列表中的一项数据等。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
from PyQt4 import QtGui, QtCore 

class InputDialog(QtGui.QWidget):
    def __init__(self, parent = None):
        QtGui.QWidget.__init__(self)
        self.setGeometry(300, 300, 350, 80)
        self.setWindowTitle('InputDialog')
        self.button = QtGui.QPushButton('Dialog', self)
        self.button.setFocusPolicy(QtCore.Qt.NoFocus)
        self.button.move(20, 20)
        self.connect(self.button, QtCore.SIGNAL('clicked()'),
                     self.showDialog)
        self.setFocus()
        self.label = QtGui.QLineEdit(self)
        self.label.move(130, 20)
        
    def showDialog(self):
        text, ok = QtGui.QInputDialog.getText(self, 'Input Dialog',
                                              'Enter your name:')
        if ok:
            self.label.setText(unicode(text))

app = QtGui.QApplication(sys.argv)
icon = InputDialog()
icon.show()
sys.exit(app.exec_())

效果:

本示例包含一个按钮和一个行编辑部件。单击按钮会弹出输入对话框,以获取用户输入的文本数据。该文本数据将会显示在行编辑部件中。

        text, ok = QtGui.QInputDialog.getText(self, 'Input Dialog',
                                              'Enter your name:')

该语句用来显示一个输入对话框。第一个参数'Input Dialog'是对话框的标题。第二个参数'Enter your name'将作为提示信息显示在对话框中。该对话框将返回用户输入的内容和一个布尔值,如果用户单击OK按钮确认输入,则返回的布尔值为true,否则返回的布尔值为false。

原文地址:https://www.cnblogs.com/moonlightpoet/p/5346832.html