PyQt5——.ui文件转.py

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()

发布了10 篇原创文章 · 获赞 10 · 访问量 3913

猜你喜欢

转载自blog.csdn.net/FairyTale__/article/details/104086795