PyQt4和pyuic4

4 投票
3 回答
21730 浏览
提问于 2025-04-16 00:57

我正在尝试在使用osx 10.6的Mac上编译我的第一个.ui文件,使用的是PyQt4。可是我遇到了一个语法错误,我不太明白这是什么意思。

>>> import sys
>>> sys.path.append('/Users/womble/Dropbox/scratch/')
>>> from PyQt4 import QtCore, QtGui
>>> pyuic4 Urb.ui > Urb.py

File "<stdin>", line 1
    pyuic4 Urb.ui > Urb.py
             ^
SyntaxError: invalid syntax

我试着在.ui文件的第一行添加了

#!/usr/bin/python2.5

但问题还是没有解决。

谢谢大家的建议。

3 个回答

0

我花了将近6个小时寻找合适的解决方案,这个页面上的步骤是我在我的Mac 10.6.8上找到的最准确的方法,效果非常好。

http://www.pythonsummerschool.net/index.php?url=mac_pyqt

现在我可以在终端上轻松地把*.ui文件转换成*.py文件了:

首先,你需要按照这个链接上的说明,把pyQt和sip以及所有相关的依赖项配置好。接下来,去到这个路径:/Applications/Python 3.2/Update Shell Profile.command,然后运行它。

检查一下你的路径变量:
env | grep PATH

确保所有的路径都指向你最新安装的Python。你可以通过再次运行这个命令来确认:/Applications/Python 3.2/Update Shell Profile.command

然后,你只需要简单地输入:
pyuic4 /Volumes/BOOTCAMP/yourfile.ui > /Volumes/BOOTCAMP/yourfile.py

祝你玩得开心!

2

我通常在命令行中使用 pyuic4,方法如下:

pyuic4 -xo Urb.py Urb.ui

这里的 x 选项确保生成的 Python 代码包含一些额外的代码,这些代码可以在作为独立应用程序运行时创建和显示图形用户界面(GUI)。

o 选项则指定了要写入的输出文件(在上面的例子中是:Urb.py)。

9

你把Python和命令行指令搞混了。

这段是Python代码,可以在交互式的Python环境中执行:

import sys
sys.path.append('/Users/womble/Dropbox/scratch/')
from PyQt4 import QtCore, QtGui

而这段是应该在命令提示符或者终端窗口中运行的。你在Python解释器里运行它会出现语法错误,因为它不是Python代码:

pyuic4 Urb.ui > Urb.py

撰写回答