Wes*_*ley 7 python macos qt pyqt
我非常喜欢Windows上的Qt Designer,因为我为Python应用程序制作了GUI(使用PyQt4),并尝试在我的Mac上安装它(在OSX 10.6.6下).
此时,我已经成功安装了SIP,Qt4和PyQt4.
PyQt二进制安装程序(适用于Windows)包含一个与PyQt一起使用的Qt Designer版本.在OSX上,没有二进制安装程序,只有源代码.所以没有Qt设计师.
Qt网站提供Qt Creator作为下载,但据我所知,它要求你用C/C++编写代码.
有没有办法让Qt Creator与PyQt一起工作?或者是否有另一个适用于Mac的PyQt GUI设计器?
谢谢!-Wesley
Gra*_*erg 11
如果你已经安装了Qt4,那么你有Qt Designer.如果你使用qt.nokia.com上的安装程序,它应该在/ Developer/Applications/Qt中.
Qt Designer本身可以与PyQt一起使用.Qt设计师只是吐出描述UI结构的XML.如果您使用标准Qt和C++,则必须运行该uic工具以从.ui文件生成C++.同样,使用PyQt4,您必须运行pyuic4生成的.ui文件以从中创建python源.
如果你正在寻找一个完整的IDE解决方案来自动处理PyQt所有这一切,我不知道是否存在一个.我只有一个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()
Run Code Online (Sandbox Code Playgroud)
我也有在那里一些其他的功能,运行pyrcc4资源编译和pylupdate4与lrelease产生的翻译.