如果想用python來開發圖形化介面,有很多工具供選擇,各有利弊,之前用過wxPython+Boa-constructor,已經記不清了。
新瞭解了下PyQt4,貌似用這個的人也比較多,所以決定開始學這個。version:PyQt-Py2.7-x86-gpl-4.9.1-1.exe
PyQt4內建一個qt designer,用它來建立介面,布局控制項,例如Form,button,text之類的非常方便,利用“編輯訊號/槽”模式定義事件等。
和C#建立Form類似,但是沒有C#那麼的方便。
一般步驟:
1. 用designer建立GUI介面,啟動後選擇模板,例如Widget,再拖拽一些控制項到介面上,例如button,text等
2. 通過右側屬性編輯器修改控制項的名字,文本,title等屬性
3. 儲存成.ui檔案,通過PyQt4下的pyuic4.bat工具,命令列執行:pyuic4.bat test.ui > ui_test.py 即可將設計的UI介面產生一個UI的類檔案
4. 再編寫自訂的class和main,並將UI類檔案import使用 即可
5. 通過設定自己的slots來擴充功能(還沒深入研究)
PS: Qt 使用一種稱為訊號/插槽(signals/slots)的機制在視窗構件(以及其它對象)之間傳遞事件和訊息。
================================================================
# 簡單的notepad,開啟(清空),關閉
import sys
from PyQt4 import QtGui
from ui_notepad import Ui_Notepad
class myNotePad(QtGui.QMainWindow):
'''
classdocs
'''
def __init__(self,parent=None):
'''
Constructor
'''
QtGui.QWidget.__init__(self,parent)
self.ui = Ui_Notepad()
self.ui.setupUi(self)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv) # * 必備
myapp = myNotePad() # *
myapp.show()
sys.exit(app.exec_()) # *