Pyuic5 生成带有无效导入的 python 文件
Posted
技术标签:
【中文标题】Pyuic5 生成带有无效导入的 python 文件【英文标题】:Pyuic5 generates python files with invalid imports 【发布时间】:2017-07-04 11:59:33 【问题描述】:在项目中使用 PyQt5 时,我使用 pyuic5 -x design.ui -o design_ui.py
将一些 .ui 文件转换为 .py 文件。在生成的python文件中,有这个import语句:from ktreewidgetsearchline import KTreeWidgetSearchLine
,Python(3.6.1)是找不到的。
我使用的是 Ubuntu 17.04。我曾尝试安装 KDE 及其开发包,但没有成功。
有人能指出我正确的方向吗?我在哪里可以找到显示小部件所需的正确 python 包?或者,我如何配置/告诉 PyQt/pyuic5 生成可以在 gnome/unity 中显示的文件,或者一般跨平台?
非常感谢:)
【问题讨论】:
您可以共享 .ui 文件。也许您正在添加 KDE 组件?如果您正在这样做,请不要这样做。 很遗憾,我无权披露该文件。然而,你是对的。其中有 KDE 元素。它最初是在 (Py)Qt4 中设计的,这有关系吗? 执行这个:sudo apt-get install python3-pykde4
感谢您的帮助 :) 看来我必须更改设计文件以使用更标准的东西,因为该应用程序也应该在非 KDE 上运行。
【参考方案1】:
我的项目也有类似的问题,解决方法如下:
对于我的项目(参见 GitHub 上的 KSP Mod Analyzer),我有以下结构:
ksp-mod-analyzer/ui/mainwindow.ui(由 QT Designer 创建的 UI) ksp-mod-analyzer/ui/resources.qrc(带图标的资源文件)运行 pyuic5 --from-imports mainwindow.ui -o mainwindow.py
将以下导入指令添加到我的 mainwindow.py
from . import resources_rc
这样,导入命令就起作用了。
【讨论】:
以上是关于Pyuic5 生成带有无效导入的 python 文件的主要内容,如果未能解决你的问题,请参考以下文章
IE10+ 上的 AngularJS,带有占位符的文本区域导致“无效参数”。
在 Ubuntu 14.04 中为 Python3.4 构建 PyQt5 的问题是由 qprinter.h 引起的,然后 pyuic5 错误