OSX 10.6上的PyQt Qt Designer
我在Windows上用Qt Designer做Python应用的界面(用的是PyQt4)时特别喜欢,所以我决定在我的Mac上(OSX 10.6.6)也试着安装一下。
到目前为止,我已经成功安装了SIP、Qt4和PyQt4。
在Windows上,PyQt的安装包里有一个可以和PyQt一起用的Qt Designer,但在OSX上没有这样的安装包,只有源代码。所以我没法用Qt Designer。
Qt官网提供了Qt Creator可以下载,但我发现它好像只适合用C/C++写代码。
有没有办法让Qt Creator和PyQt一起用?或者有没有其他适合在Mac上用的PyQt图形界面设计工具?
谢谢!
- Wesley
2 个回答
看起来你在找这个:
https://build-system.fman.io/qt-designer-download
很简单:QT设计器是专门为Mac准备的,比原来的QT创作工具更轻便、更简单……而且只适合Python使用。
如果你安装了Qt4,那么你就有了Qt Designer。如果你是从qt.nokia.com下载的安装包,它应该在/Developer/Applications/Qt这个文件夹里。
Qt Designer和PyQt配合得很好。Qt Designer会生成描述用户界面结构的XML文件。如果你用的是标准的Qt和C++,你需要运行一个叫做uic
的工具,把.ui文件转换成C++代码。同样的,使用PyQt4时,你需要运行pyuic4
这个命令,把生成的.ui文件转换成Python代码。
如果你在寻找一个可以自动处理这些事情的完整IDE解决方案,我并不知道有这样的工具。我自己有一个叫build_helper.py
的脚本,它会处理我所有的.ui文件,并把它们放到我正在开发的Python包的合适位置。我在运行主程序之前会先运行这个构建助手脚本,以确保生成的代码是最新的。
我所有的.ui文件都会放在项目根目录下的一个名为ui
的子文件夹里。这个脚本会生成Python代码,并把它放到'myapp/ui/generated'这个文件夹里。
举个例子:
import os.path
from PyQt4 import uic
generated_ui_output = 'myapp/ui/generated'
def process_ui_files():
ui_files = (glob.glob('ui/*.ui'),
glob.glob('ui/Dialogs/*.ui'),
glob.glob('ui/Widgets/*.ui')))
for f in ui_files:
out_filename = (
os.path.join(
generated_ui_output,
os.path.splitext(
os.path.basename(f))[0].replace(' ', '')+'.py')
)
out_file = open(out_filename, 'w')
uic.compileUi(f, out_file)
out_file.close()
if __name__ == '__main__':
process_ui_files()
我在这个脚本里还有一些其他的功能,比如运行pyrcc4
来编译资源,以及pylupdate4
和lrelease
来生成翻译。