自定义pyuic的资源导入语句?

时间:2015-11-22 22:41:30

标签: pyqt pyqt4 pyuic rcc

当我在Windows上使用此命令时:

python -m PyQt4.uic.pyuic user_interface.ui -o user_interface.py

之后,我添加了一个资源:

pyrcc4.exe -py3 images.qrc -o images.py

我最终得到了两个漂亮的文件, user_interface.py images.py 。问题是 user_interface.py 文件以这行代码结束:

... all QT stuff here.
import images_re

因为这是一个从许多父母调用的模块,所以必须像这样导入:

import myapp.gui.images_re

当我更改代码行时,它可以正常工作,但每次我修改user_interface.ui文件然后执行批处理时,它都会被覆盖,我每次都必须手动更改它。

有没有办法告诉pyuic在import语句中写什么?
或者任何批处理代码可以在pyuic之后执行并改变那行代码?
或者对它进行一些调整。调用 user_interface.py 的py文件,例如更改默认目录,以便从那里导入images_re?

1 个答案:

答案 0 :(得分:5)

如果将资源文件保存在与ui文件相同的包目录中,则可以使用--from_imports选项。这会将以下导入行添加到ui文件中:

    from . import resources_rc

命令看起来像这样:

    pyuic4 --from-imports --output file.py file.ui

(注意:pyuic可执行文件名可能会有所不同,具体取决于平台。)