我是个PHP程序员,不过有时候觉得需要写些小软件,对于我这种不太熟悉桌面软件开发的人来说,界面问题最让我头痛。听说Qt很强大,而且是跨平台,所以决定学习它用来弥补我写桌面软件的不足。
Qt一般是通过C++来调用,如果要让Python支持Qt,需要下载PyQt这个库,十几M大小,安装后就可以让Python支持部分Qt功能。
在完整版Qt的Demo中,一般都是程序与界面分开,界面代码被写在.ui后缀的XML文件中,而程序只需要调用UI文件和写处理事件就行,实现代码与界面分离。而且ui文件可以用Qt Designer这个工具设计复杂的界面,这个工具在安装PyQt后就会有,而且使用方便。
查过Qt手册,发现读取UI文件功能是通过QtUiTools模块来完成,但PyQt却没有这个类,所以无法直读UI文件。找到唯一利用UI的方法,是通过pyuic4指令进行转换,格式如下:
pyuic4 -o ui_xxx.py xxx.ui
pyuic4可以把ui文件转换为python的界面代码,这样python就可以利用强大的Qt Designer设计界面。
调用代码如下:
代码
#-*-?coding:?gbk?-*-
#加载有需要的Qt库
from?PyQt4?import?QtCore,?QtGui
#从ui_test.py文件中读取Ui_Dialog类,Ui_Dialog类由pyuic4生成
from?ui_test?import?Ui_Dialog
#继承的类要和生成的ui对相
class?Ui(QtGui.QDialog):
def?__init__(self,?parent=None):
super(Ui,?self).__init__(parent)
self.ui?=?Ui_Dialog()
self.ui.setupUi(self)
if?__name__?==?‘__main__‘:
import?sys
app?=?QtGui.QApplication(sys.argv)
window?=?Ui()
window.show()
sys.exit(app.exec_())
原文地址:http://www.cnblogs.com/mhxy13867806343/p/3872343.html