OSX 10.6上的PyQt Qt Designer

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资源编译和pylupdate4lrelease产生的翻译.

  • 谢谢你的回复,格兰特.我从诺基亚网站下载了Qt4安装程序,它确实包含了Qt Constructor.但据我所知,没有版本的Qt构造函数可以与PyQt一起使用,而不是C/C++.Windows yQt安装程序包含一个与PyQt一起使用的Qt Designer版本,但是为了在Mac上安装PyQt,只有源代码.有了这个源代码,没有用于PyQt的Qt Designer.-W (2认同)