Qt Designer保存的文件文件为.ui文件,是一种类似于XML结构的文件
需要将它转换成.py文件才可以执行。
- 在PyCharm中转换
如果你有配置转换工具(没有配置的戳PyQt5——PyCharm+PyQt5+QtDesigner配置),可以在PyCharm工具栏中找到pyuic工具,选中ui文件,点击pyuic,即可完成转换。完成后会在同目录下生成一个同名的.py文件。 - 通过命令行完成转换
下面提供两种方法:
1)直接打开命令提示符,手动cd到工程目录下,执行命令:
pyuic5 -o 文件名.py 文件名.ui
即可完成转换。
2)在当前工程目录下按住Shift
键同时点击右键,选择在此处打开PowerShell窗口
,在窗口中执行命令start cmd
即可在该目录下打开命令提示符,执行命令:
pyuic5 -o 文件名.py 文件名.ui
即可完成转换。 - 通过Python脚本进行转换
将该脚本放到与ui文件的同目录中,执行该文件即可完成转换。
# !/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time: 2020/1/26 13:06
# @Author: Casually
# @File: tool_pyuic.py
# @Email: [email protected]
# @Software: PyCharm
#
import os
import os.path
# UI文件所在的路径
dir = './'
def listUiFile():
'''
返回目录下的所有ui文件
:return:
'''
list = []
files = os.listdir(dir)
for filename in files:
# print( dir + os.sep + f )
# print(filename)
if os.path.splitext(filename)[1] == '.ui':
list.append(filename)
return list
def transPyFile(filename):
'''
提取ui文件名,返回py文件文件全名
:param filename:
:return:
'''
return os.path.splitext(filename)[0] + '.py'
def runMain():
'''
调用系统命令把ui转换成py
:return:
'''
list = listUiFile()
for uifile in list:
pyfile = transPyFile(uifile)
cmd = 'pyuic5 -o {pyfile} {uifile}'.format(pyfile=pyfile, uifile=uifile)
# print(cmd)
os.system(cmd)
if __name__ == "__main__":
runMain()