在PyQt5上使用Python 3.6将.ui转换为.py

时间:2017-03-26 12:47:16

标签: pyqt5 python-3.6

我无法将ui转换为py

它给出了这个: screenshot

6 个答案:

答案 0 :(得分:15)

我不会手动安装Python软件包,而是考虑在最近的conda安装(https://www.anaconda.com/download/)中使用pipAnaconda

使用python 3.6安装Anaconda后,打开特权(Run as Administratorcmd或git bash并运行以下命令:

安装PyQt5

PyQt5是Python 3.6的默认版本。您可以通过运行(conda search pyqt

来检查可用的包
conda install pyqt

从.ui生成.py文件

python -m PyQt5.uic.pyuic -x [FILENAME].ui -o [FILENAME].py

在Python代码上导入生成的.py

现在,假设您的文件名为MainWindow.py,其类型为QMainWindow。这是你在Python上导入它的方法

from PyQt5 import QtWidgets
from mainwindow import Ui_MainWindow
import sys

class ApplicationWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super(ApplicationWindow, self).__init__()

        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)


def main():
    app = QtWidgets.QApplication(sys.argv)
    application = ApplicationWindow()
    application.show()
    sys.exit(app.exec_())

if __name__ == "__main__":
    main()

答案 1 :(得分:6)

您使用的语法正确:pyuic5 -x file.ui -o file.py

但您必须确保file.uipyuic5.bat

位于同一位置

答案 2 :(得分:2)

对不起,我的英语不好

  1. 您可以找到文件“ pyuic5.exe”(例如,它是“ C:\ Python \ venv \ Scripts \ pyuic.exe”)
  2. 通过命令行转到包含文件“ needToConvert.ui”的文件夹
  3. 输入以下命令行:C:\ Python \ venv \ Scripts \ pyuic.exe needToConvert.ui -o needToConvert.py

答案 3 :(得分:0)

你需要的是缺少的python3.dll文件,你必须放在python目录中

  • 转到此处(https://winpython.github.io/)。
  • 下载您拥有的python版本,并查看哪个位 版本
  • 下载零版本并暂时将其解压缩
  • 在解压缩文件夹中搜索搜索栏中的python3.dll
  • 解压缩python设置的位置然后尝试它将起作用

答案 4 :(得分:0)

使用此.bat文件自动将所有* .ui文件转换为python文件。 您所需要的只是:

  1. 将以下脚本保存到ui2py.bat文件
  2. 使用记事本编辑文件并从PC中指定 pythonPath 目录
  3. 保存更改并执行ui2py.bat文件转换器

    @echo off

    rem设置python路径 set pythonPath = G:\ Programming \ WinPython-64bit-3.6.3.0Qt5 \ python-3.6.3.amd64

    echo [START]转换.ui文件......

    rem转换当前目录中的所有.ui文件 for %% i in(* .ui)do(

    rem显示文件名    echo %% i - ui _ %% ~ni.py

    转发    %pythonPath%\ python.exe -m PyQt5.uic.pyuic -x %% i -o ui _ %% ~ni.py

    echo [END]转换.ui文件......

答案 5 :(得分:0)

python -m PyQt5.uic.pyuic -x [FILENAME].ui -o [FILENAME].py

这对我有用。感谢Danilo Gasques