PyQt4中的對話框python
對話窗口和對話框是現代GUI應用程序必不可少的一部分。生活中「對話」被定義爲發生在兩人或更多人之間的會話。而在計算機世界,「對話」則時人與應用程序之間的「會話」。人及對話的形式有在輸入框內鍵入內容,修改已有的數據,改變應用程序的設置等。對話框在人機交互中扮演着很是重要的角色。app
從本質上說,只存在兩種形式的對話框:預約義對話框和定製對話框。ui
預約義對話框spa
QInputDialog 輸入對話框code
QInputDialog提供了一種獲取用戶單值數據的簡潔形式。它接受的數據有字符串,數字和列表中的一項數據等。blog
#!/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_())
效果:utf-8
本示例包含一個按鈕和一個行編輯部件。單擊按鈕會彈出輸入對話框,以獲取用戶輸入的文本數據。該文本數據將會顯示在行編輯部件中。unicode
text, ok = QtGui.QInputDialog.getText(self, 'Input Dialog',
'Enter your name:')字符串
該語句用來顯示一個輸入對話框。第一個參數'Input Dialog'是對話框的標題。第二個參數'Enter your name'將做爲提示信息顯示在對話框中。該對話框將返回用戶輸入的內容和一個布爾值,若是用戶單擊OK按鈕確認輸入,則返回的布爾值爲true,不然返回的布爾值爲false。get