Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将.ui文件转换为.py文件时出错_Python_User Interface_Python 2.7_Pyqt_Pyqt4 - Fatal编程技术网

Python 将.ui文件转换为.py文件时出错

Python 将.ui文件转换为.py文件时出错,python,user-interface,python-2.7,pyqt,pyqt4,Python,User Interface,Python 2.7,Pyqt,Pyqt4,我在Qt4设计器中创建了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 QtCor

我在Qt4设计器中创建了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. 
回溯(最近的调用):
文件“C:\Python27\Lib\site packages\PyQt4\uic\pyuic.py”第31行,在
从PyQt4导入QtCore
导入错误:DLL加载失败:%1然后在另一个编码Win32上出现异常。

打开cmd并转到保存ui文件的目录,然后在那里编写以下命令

pyuic4 -w notepad.ui > notepadwindow.py

一些安装问题,我想

pyuic4 notepad.ui > notepad.py
这对我很有用

我就是这样做的:

pyuic4 -x name.ui -o name.py

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

我对PyQt5 64位版本也有同样的问题。删除并替换为32位版本,然后在命令提示下输入:
pyuic5-x“input.ui”-o“output.py”

运行得很好。

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

1.ImportError:DLL加载失败:找不到指定的模块。 然后,您必须检查PyQT版本是否与python兼容。 换句话说,如果使用python3.3,那么只能对python3.3使用PyQT python3.3将不能与PyQT for python3.4一起使用

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

2.导入错误:DLL加载失败:%1然后在另一个编码Win32上出现异常。
那么这将是一个操作系统问题。如果您使用32位Python,那么您必须使用32位PyQt,64位PyQt也是如此。我遇到了同样的错误,并且能够解决它

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


您的问题可能与我的问题相同,或者与visa的问题相同,但idle和PyQt的版本应该匹配,可以是32位,也可以是64位。

转换时,我通常会这样做:

  • 使用cd/d:\yourdirectory移动到.ui文件位置
  • 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

使用python和PyQt的同一版本。它解决了我的错误
ImportError:DLL加载失败:找不到指定的模块。

请包含俄文/西里尔文错误消息的翻译。请注意,通过使用动态加载
.ui
文件,可以避免转换它(并保留更易于维护的代码库)。我想您的版本不匹配。32位Python对64位PyQt,反之亦然。答案已编辑。请参见编辑后的答案。这可能对你有帮助