Pyqt5将.ui文件转换成.py文件的两种方式

简介: Pyqt5将.ui文件转换成.py文件的两种方式

方法一:通过命令行把.ui文件转换为.py文件


PyQt 5安装成功后,pyuic5命令默认安装在%/python3x/Scripts目录下。我的pyuic5的安装路径是E:python35.Scripts。


如果想将firstMainWin.ui转换成.py文件,输入以下命令即可:


pyuic5 -o firstMainWin.py firstMainwin. ui


注意:如果输入pyuic5命令没有得到正确提示,而是提示“pyuic5不是内部命令或外部命令,也不是可运行的程序或批处理文件”,则是由于 Python3.*环境配置出错导致的.


转换后的结果如下:

2dd18b59cd4e49a99e42453689035826.jpg

方法二:通过Python脚本把.ui文件转换为.py文件


对于对命令行的使用不熟悉或者不太喜欢的同学,这里提供了Python脚本来完成转换的方法,这个脚本本质上是用Python代码把上述方法一的操作封装起来。完整代码如下:


# -*- coding: utf-8 -*-
'''
  ui转换成py的转换工具  
'''
import os 
import os.path 
# UI文件所在的路径 
dir = './'  
# 列出目录下的所有ui文件
def listUiFile(): 
  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
# 把后缀为ui的文件改成后缀为py的文件名  
def transPyFile(filename): 
  return os.path.splitext(filename)[0] + '.py' 
# 调用系统命令把ui转换成py
def runMain():
  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()


使用方法:


只要把tool.py 放在需要转换界面文件的目录下,双击tool.py就可以直接运行即可,其执行效果和直接执行转换命令是一样的。


相关文章
|
4月前
|
Web App开发 JSON JavaScript
SAP UI5 应用程序小技巧 - 一键将 JSON 对象导出成本地 json 文件
SAP UI5 应用程序小技巧 - 一键将 JSON 对象导出成本地 json 文件
|
11月前
|
Web App开发 资源调度 JavaScript
SAP Fiori Elements 应用里的 ui5.yaml 文件详解试读版
SAP Fiori Elements 应用里的 ui5.yaml 文件详解试读版
|
4月前
|
人工智能 数据库
无法将文件“obj\Debug\UI.exe“复制到“bin\Debug\UI.exe“。文件“bin\Debug\UI.exe“正由另一个进程使用,因此该进程无法访问此文件。
无法将文件“obj\Debug\UI.exe“复制到“bin\Debug\UI.exe“。文件“bin\Debug\UI.exe“正由另一个进程使用,因此该进程无法访问此文件。
126 0
|
4月前
|
移动开发 开发框架 JavaScript
什么是 SAP UI5 项目 ui5.yaml 文件中的 specVersion 字段
什么是 SAP UI5 项目 ui5.yaml 文件中的 specVersion 字段
|
4月前
|
UED
SAP UI5 开发项目 package.json 文件里的 @sap/ux-specification 依赖
SAP UI5 开发项目 package.json 文件里的 @sap/ux-specification 依赖
|
11月前
|
JSON 数据格式 开发者
SAP UI5 manifest.json 文件里 extends 区域的内容是如何被解析的
SAP UI5 manifest.json 文件里 extends 区域的内容是如何被解析的
|
11月前
|
XML JavaScript 前端开发
SAP UI5 Fiori Elements annotation 文件序列化成 DOM 对象的逻辑
SAP UI5 Fiori Elements annotation 文件序列化成 DOM 对象的逻辑
|
11月前
|
XML 缓存 前端开发
SAP UI5 应用启动时加载的 library-preload.js 文件
SAP UI5 应用启动时加载的 library-preload.js 文件
|
11月前
|
开发者
SAP UI5 应用启动时加载的 flpSandbox.html 文件有什么作用
SAP UI5 应用启动时加载的 flpSandbox.html 文件有什么作用
|
11月前
|
存储 移动开发 JSON
SAP UI5 manifest.json 文件的 config 区域
SAP UI5 manifest.json 文件的 config 区域