【问题标题】:Error converting .ui file to .py file将 .ui 文件转换为 .py 文件时出错
【发布时间】:2012-11-13 03:08:39
【问题描述】:

我在 Qt4 Designer 中创建了 notepad.ui 文件,并尝试通过命令创建 notepadwindow.py 文件

pyuic4.bat notepad.ui -o notepadwindow.py

结果出现以下错误

Traceback (most recent call):
  File "C:\Python27\Lib\site-packages\PyQt4\uic\pyuic.py" line 31, in <module>
    from PyQt4 import QtCore
Import Error: DLL load failed: %1 then something strange on a different encoding Win32. 

【问题讨论】:

  • 能否请您附上俄文/西里尔文错误信息的翻译?
  • 请注意,您可以通过使用QUiLoader 动态加载.ui 文件来避免转换它(并保持更易于维护的代码库)。
  • 我认为您的版本不匹配。 32 位 Python 与 64 位 PyQt,反之亦然。

标签: python user-interface python-2.7 pyqt pyqt4


【解决方案1】:

我猜是一些安装问题

pyuic4 notepad.ui > notepad.py

这对我有用

【讨论】:

  • 我必须 pyuic5 notepad.ui &gt; notepad.py 才能让它工作
【解决方案2】:

这就是我的做法:

pyuic4 -x name.ui -o name.py

当然,在 cmd 中转到您的 notepad.ui 文件所在的目录。祝你好运。

【讨论】:

    【解决方案3】:

    我遇到了同样的错误并且能够解决它。

    虽然我在 64 位 Windows 上工作,但我的 python shell (2.7.11) 和所有扩展包都是 32 位的,它们运行良好。我遇到了很多错误,因为我下载的 PyQt4 是 64 位的。当我删除它并安装 32 位 PyQt4 时,问题就消失了,现在我可以将 .ui 文件转换为 .py

    也许你的问题和我一样,反之亦然,但 idle 和 PyQt 的版本应该匹配,32 位或 64 位。

    【讨论】:

      【解决方案4】:

      打开 cmd 并进入保存 ui 文件的目录,然后在其中编写以下命令。

      pyuic4 -w notepad.ui > notepadwindow.py
      

      【讨论】:

      • 答案已被编辑。请参阅编辑后的答案。它可以帮助你
      【解决方案5】:

      我认为至少有两种可能的错误情况

      1.ImportError: DLL load failed: 找不到指定的模块。

      那么你必须检查你的 PyQT 版本是否与你的 python 兼容。 也就是说,如果你使用python 3.3,那么你只能使用PyQT for python3.3 并且 python 3.3 不适用于 python3.4 的 PyQT

      这就是我遇到的问题。我通过重新安装解决了它

      2。导入错误:DLL 加载失败:%1 然后在不同的编码 Win32 上出现了一些奇怪的情况。

      那么这将是一个操作系统问题。如果你使用 32 位 Python,那么你必须使用 32 位 PyQt,64 位也是如此

      【讨论】:

        【解决方案6】:

        这是我在转换时通常会做的:

        • 移动到 .ui 文件位置:cd /d D:\yourdirectory
        • YourPyuicLocation -x inputname.ui -o outputname.py

        示例:

        C:\Users\ceppy\AppData\Local\Programs\Python\Python35\Lib\site-packages\PyQt5\pyuic5.bat -x Test.ui -o Test.py
        

        【讨论】:

          【解决方案7】:

          使用相同版本的python和PyQt。它解决了我的错误 ImportError: DLL load failed: 找不到指定的模块。

          【讨论】:

            【解决方案8】:

            对我来说,它与路径有关,也许它太长了。我将 .ui 文件复制到另一个文件夹并运行命令,它工作。

            【讨论】:

              【解决方案9】:

              我在使用 PyQt5 64 位版本时遇到了同样的问题。删除并替换为 32 位版本,然后在命令提示符处输入:pyuic5 -x "input.ui" -o "output.py" 跑得很好。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2016-11-16
                • 2014-04-11
                • 2021-10-06
                • 2017-05-22
                相关资源
                最近更新 更多