【问题标题】:Conflict in convert dialog.ui to dialog.py with QGIS使用 QGIS 将 dialog.ui 转换为 dialog.py 的冲突
【发布时间】:2018-01-28 20:50:36
【问题描述】:

我在 linux mint 18.2 中安装了 QGIS 2.18.11 没有问题。我可以运行 QGIS,但是当我想在终端中使用 pyuic4 -o dialog.py dialog.ui 将 dialog.ui 转换为 dialog.py 时,我收到以下错误:

发生意外错误。 检查您是否使用最新版本的 PyQt 并将错误报告发送到 support@riverbankcomputing.com,包括以下信息:

  • 您的 PyQt (4.11.4) 版本
  • 导致此错误的 UI 文件
  • pyuic4 的调试输出(调用 pyuic4 时使用 -d 标志)

pyuic4 -o dialog.py dialog.ui -d 我收到以下错误:

Traceback(最近一次调用最后一次):

文件“/usr/lib/python2.7/dist-packages/PyQt4/uic/port_v2/invoke.py”,第 34 行,调用 exit_status = driver.invoke()

文件“/usr/lib/python2.7/dist-packages/PyQt4/uic/driver.py”,第 59 行,调用 self._generate()

文件“/usr/lib/python2.7/dist-packages/PyQt4/uic/driver.py”,第 98 行,在 _generate self._opts.resource_suffix 中)

文件“/usr/lib/python2.7/dist-packages/PyQt4/uic/init.py”,第 173 行,在 compileUi winfo = compiler.UICompiler().compileUi(uifile , pyfile, from_imports, resource_suffix)

init CompilerCreatorPolicy()) 中的文件“/usr/lib/python2.7/dist-packages/PyQt4/uic/Compiler/compiler.py”,第 55 行

文件“/usr/lib/python2.7/dist-packages/PyQt4/uic/uiparser.py”,第 170 行,在 init self.factory = QObjectCreator(creatorPolicy)

文件“/usr/lib/python2.7/dist-packages/PyQt4/uic/objcreator.py”,第 94 行,在 init modinfo = plugin_locals"moduleInformation"

文件“”,第 52 行,在 moduleInformation 中

文件“/usr/lib/python2.7/dist-packages/qgis/init.py”,第 26 行,从 qgis.PyQt 导入 QtCore

文件“/usr/lib/python2.7/dist-packages/qgis/PyQt/QtCore.py”,第 28 行,在 sip.setapi(api, 2) 中

ValueError:API 'QDate' 已设置为版本 1

在下一次尝试中,我在终端中使用了以下命令:

sudo apt-get remove --purge python-qt4
sudo apt-get clean
sudo apt-get install python-qt4
sudo apt install pyqt4-dev-tools

在这个阶段,我可以通过pyuic4 -o dialog.py dialog.ui 命令将dialog.ui 转换为dialog.py,但是当我想运行QGIS 时,它会从linux 中删除。我该如何解决这个问题?

【问题讨论】:

  • 您是如何安装 QGIS 的?您的要求是什么?
  • 我基于http://www.youtube.com/channel/UCcSNQL8HppF5uD2KRkn1Obw安装了QGIS。我想构建一个QGIS插件,所以我需要将qt设计器设计的qt.ui文件转换为python文件。
  • 写视频链接,而不是 youtube 频道,如果您描述问题中的步骤也会有所帮助。
  • 我建议你按照你官方使用的步骤,或者直接编译代码,因为你的情况是库的问题。 qgis.org/en/site/forusers/alldownloads.html#debian-ubuntu

标签: python linux user-interface pyqt4 qgis


【解决方案1】:

不确定 Mint,但我从 Debian Stretch 稳定存储库安装了 python-qt4pyqt4-dev-tools 4.11.4,从官方 QGIS 存储库安装了 QGIS 2.18.26,并且出现了相同的错误。

QGIS 还发布了自己的 PyQt4 版本,这似乎导致了这种冲突。一种不优雅但有效的方法是简单地使用 QGIS 附带的 pyuic4 工具版本:

python /usr/lib/python2.7/dist-packages/qgis/PyQt/uic/pyuic.py my_widget.ui

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-02
    • 1970-01-01
    • 2014-05-07
    • 2012-03-29
    • 2016-08-17
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    相关资源
    最近更新 更多