1. PyQt: 打開對話框html
msgbox = QtGui.QMessageBox(self)# 個人語句是 msgbox = QtGui.QMessageBox(self.Centerwidget) msgbox.setWindowTitle('warning') msgbox.setText("hello") msgbox.show()
2. 詳細教程,必定要參考網頁:http://www.cppblog.com/mirguest/archive/2012/02/12/165386.htmlpython
好比:輸入客戶端顯示:web
QtGui.QInputDialog 提供了一個簡單方便的對話框,用於獲取用戶輸入的一個值。輸入值能夠是字符串,數字,或者一個列表中的一項。app
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
ZetCode PyQt4 tutorial
In this example, we receive data from
a QtGui.QInputDialog dialog.
author: Jan Bodnar
website: zetcode.com
last edited: October 2011
"""
import sys
from PyQt4 import QtGui
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
self.btn = QtGui.QPushButton('Dialog', self)
self.btn.move(20, 20)
self.btn.clicked.connect(self.showDialog)
self.le = QtGui.QLineEdit(self)
self.le.move(130, 22)
self.setGeometry(300, 300, 290, 150)
self.setWindowTitle('Input dialog')
self.show()
def showDialog(self):
text, ok = QtGui.QInputDialog.getText(self, 'Input Dialog',
'Enter your name:')
if ok:
self.le.setText(str(text))
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
這個例子中用到了一個按鈕和一個行編輯組件。按鈕會顯示一個輸入對話框用於獲得文本。而輸入的文本將在行編輯組件中顯示。編輯器
text, ok = QtGui.QInputDialog.getText(self, 'Input Dialog',
'Enter your name:')
這一行顯示了輸入對話框。第一個字符串是對話框的標題,第二個字符串則是對話框中的消息。對話框將返回輸入的文本和一個布爾值。若是點擊了 ok 按鈕,則布爾值爲 true ,不然爲 false 。函數
if ok:
self.le.setText(str(text))
從對話框中接收到的文本就被設置到行編輯組件中。ui
3. 注意事項:由Pyuic轉化的python代碼和直接由pyqt寫的代碼有多不一樣,如1中所示this
QtGui.QFileDialog 是容許用戶選擇文件或目錄的對話框。文件能夠用於打開或保存。spa
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
ZetCode PyQt4 tutorial
In this example, we select a file with a
QtGui.QFileDialog and display its contents
in a QtGui.QTextEdit.
author: Jan Bodnar
website: zetcode.com
last edited: October 2011
"""
import sys
from PyQt4 import QtGui
class Example(QtGui.QMainWindow):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
self.textEdit = QtGui.QTextEdit()
self.setCentralWidget(self.textEdit)
self.statusBar()
openFile = QtGui.QAction(QtGui.QIcon('open.png'), 'Open', self)
openFile.setShortcut('Ctrl+O')
openFile.setStatusTip('Open new File')
openFile.triggered.connect(self.showDialog)
menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(openFile)
self.setGeometry(300, 300, 350, 300)
self.setWindowTitle('File dialog')
self.show()
def showDialog(self):
fname = QtGui.QFileDialog.getOpenFileName(self, 'Open file',
'/home')
f = open(fname, 'r')
with f:
data = f.read()
self.textEdit.setText(data)
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
這個例子中有菜單欄,文本編輯區以及狀態欄。菜單中的選項顯示 QtGui.QFileDialog 用於選擇文件。而文件的內容則載入到文本編輯區。.net
class Example(QtGui.QMainWindow):
def __init__(self):
super(Example, self).__init__()
這個例子是基於 QtGui.QMainWindow 組件,由於咱們要在中心設置文本編輯區。
fname = QtGui.QFileDialog.getOpenFileName(self, 'Open file',
'/home')
咱們彈出 QtGui.QFileDialog 。在getOpenFileName() 方法中第一個字符串是標題。第二個則是指定對話框的工做目錄。默認狀況下,文件過濾爲全部文件(* )。
f = open(fname, 'r')
with f:
data = f.read()
self.textEdit.setText(data)
選擇的文件將被讀取,而且其文件內容設置到文本編輯區。
5.一個完整的文本編輯器