在使用PyQT做用户界面时, 我们可以先用QT Designer来创建UI框架,然后用pyuic4脚本来将.ui文件转换成.py文件,这样可以节省大量配置用户界面的繁琐工作。

一般大家都只会记住一条命令,就是:

pyuic4 -x project.ui -o project.py

这就是把用XML描述的.ui文件,转换成.py文件,我们就可以直接

python project.py

来得到用户界面了,然后再加些其它代码即可。

下面就是pyuic4所支持的所有参数。

-p, --preview

预览用户界面。

-o, --output

输出产生的代码到指定文件,而不是console终端上。

-x, --execute

产生额外的代码来测试和显示类。

-d, --debug

显示调试信息。

-i, --indent N

设置缩进的空格数N,N为0时表示使用tab,缺省N为4,即4个空格。

-w, --pyqt3-wrapper

产生PyQt v3 风格的代码格式。

--from-imports

控制生成的python代码的一个选项,让产生代码中的导入文件是相对于当前目录。


写了个PyQt4的程序,用desiger设计了个界面,使用了Qt的rcc系统。于是研究了一下pyrcc4和pyuic4的使用方法,其实都很简单,pyrcc4 -o ui_form.py form.ui,pyuic4同样的用法。由于用到了好几个ui,一行行的敲着挺麻烦,于是边看python帮助写了个辅助的生成脚本:

import os
for root, dirs, files in os.walk('.'):
    for file in files:
        if file.endswith('.ui'):
            os.system('pyuic4 -o ui_%s.py %s' % (file.rsplit('.', 1)[0], file))
        elif file.endswith('.qrc'):
         os.system('pyrcc4 -o %s_rc.py %s' % (file.rsplit('.', 1)[0], file))