我正在运行 Ubuntu 10.10,并通过 apt-get 安装了 PyQt 4.7.4。
我使用 QtDesigner 构建 GUI 布局,并使用 pyuic4 将 .ui 文件编译为 .py。
然后我将自动生成的类子类化并实现子类的构造函数。我调用 setupUi() 然后收到以下错误和堆栈跟踪:
$ python src/gui/main_window.py
Traceback (most recent call last):
File "src/gui/main_window.py", line 2, in <module>
from ui_main_window import Ui_MainWindow
File "/home/dmass/sandbox/test/src/gui/ui_main_window.py", line 694, in <module>
from QtDeclarative.QDeclarativeView import QDeclarativeView
ImportError: No module named QtDeclarative.QDeclarativeView
此外,当一位同事使用 Windows 中安装的 PyQt 4.8.3 中的 pyuic4 将 .ui 文件编译为 .py 时,我收到以下错误:
$ python src/gui/main_window.py
Traceback (most recent call last):
File "src/gui/main_window.py", line 2, in <module>
from ui_main_window import Ui_MainWindow
File "/home/dmass/sandbox/test/src/gui/ui_main_window.py", line 705, in <module>
from PyQt4 import QtDeclarative
ImportError: cannot import name QtDeclarative
当我安装 PyQt 时,QtDeclarative 似乎没有安装(或者没有安装在 Python 期望的位置)。但奇怪的是,我在 google 搜索中找不到遇到同样问题的其他人。
有人知道这是怎么回事吗?感谢您的帮助!
戴夫
请您参考如下方法:
在你的 ubuntu 系统上应该有一个名为 QtDeclarative 的目录。确保它在您的 PYTHONPATH 中。类似的事情应该在 Windows 机器上为 PyQt4 完成。
