PyQt5之如何将.ui文件转换为.py文件
一、通过Eric6把.ui文件转换为.py文件
1、首先打开Eric6
编辑器,切换到“窗体”选项卡,然后选中需要转换的.ui文件,单击鼠标右键,选择“编辑窗体”就可以了。(具体步骤如下图)
2、如果找不到自己需要转换的.ui文件,则可以找到“project",选择”New“新建一个工程,创建好之后就可以找到该.ui文件了,找到之后按照上面的步骤就可以了。(具体步骤如下图)
二、通过命令行把.ui文件转换为.py文件
1、通过PyQt5
提供的命令行工具pyuic5可以轻松实现,打开cmd,将路径切换到你保存.ui文件的路径位置,输入以下命令:文件名为你需要转换的.ui文件的名字。
pyuic5 -o 文件名.py 文件名.ui
执行完之后,再输入dir
,可查看是否转换成功,具体详情如下图:
2、如果输入pyuic5
命令没有得到正确提示,而是提示如下:
'pyuic5' 不是内部或外部命令,也不是可运行的程序或批处理文件。
则可能是由于Pytnon3的环境配置出错导致的,或者PyQt5没有配置好,那就需要重新配置或者找到哪些配置出现问题再解决。
关于pyuic5命令的详细介绍,可以参照官方网站:https://www.riverbankcomputing.com/static/Docs/PyQt5/designer.html"color: #ff0000">三、通过Python脚本把.ui文件转换为.py文件
1、这个脚本本质上是用Python代码把上述操作封装起来,如下:
import os import os.path #UI文件所在的路径 dir = 'D:\Python--PyQt5--Eric6' #列出目录下的所有UI文件 def listUiFile(): list = [] files = os.listdir(dir) for filename in files: if os.path.splitext(filename)[1] == '.ui': list.append(filename) return list #把扩展名为.ui的文件改成扩展名为.py的文件 def transPyFile(filename): return os.path.splitext(filename)[0] + '.py' #调用系统命令把UI文件转换成Python文件 def runMain(): list = listUiFile() for uifile in list: pyfile = transPyFile(uifile) cmd = 'pyuic5 -o {pyfile} {uifile}'.format(pyfile=pyfile,uifile=uifile) os.system(cmd) if __name__ == "__main__": runMain()2、新建一个Python文件,运行之后,就可以得到所需要的.py文件。
需要注意的是:转换之后的.py文件的存储位置和你所新建的Python文件的位置一样。
总结