【问题标题】:Customize pyuic's resource import statement?自定义pyuic的资源导入语句?
【发布时间】:2016-02-24 23:23:42
【问题描述】:

当我在 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 在导入语句中写什么?
或者任何可以在 pyuic 之后执行并更改该代码行的批处理代码?
或者对 .py 文件进行一些调整例如调用 user_interface.py 来更改默认目录以便从那里导入 images_re?

【问题讨论】:

  • 谢谢,它工作得很好。将其发布为答案,您就知道了。
  • 如果您想提供更有用的答案,您可以告诉我我必须使用该参数将 ui 转换为 py 的 shell 代码,因为我尝试了 pyuic.bat file.ui --from-imports "myapp.gui" --output file.py 并显示为 error: one input file must be specified.

标签: pyqt pyqt4 pyuic rcc


【解决方案1】:

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

    from . import resources_rc

命令看起来像这样:

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

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

【讨论】:

    【解决方案2】:

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

    当你构建 UI 文件时,你应该输入:

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

    它对我有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多