7

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

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

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

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

最后我得到了两个漂亮的文件,user_interface.pyimages.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?

4

2 回答 2

9

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

    from . import resources_rc

命令看起来像这样:

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

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

于 2015-11-23T03:32:10.707 回答
0

如果使用pyuic4 -h,则可以使用该--import-from=PACKAGE选项。

构建 UI 文件时,应键入:

pyuic user_interface.ui -o user_interface.py --import-from=myapp.gui

它对我有用。

于 2021-12-09T14:06:37.527 回答