如果想用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_()) # *