使用PyQT編寫界面程序

使用PyQT比QT好在,能夠隨時監測函數正確性,省去編譯時間 ! 這是個不小的節省.

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

4.QtGui.QFileDialog

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.一個完整的文本編輯器

參考連接:http://blog.csdn.net/kilvdn/article/details/4077183

相關文章
相關標籤/搜索