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就可以直接运行即可,其执行效果和直接执行转换命令是一样的。


相关文章
|
前端开发 JavaScript
使用Element-UI中的el-upload实现文件的上传demo(亲测有用)
使用Element-UI中的el-upload实现文件的上传demo(亲测有用)
|
6月前
|
人工智能 数据库
无法将文件“obj\Debug\UI.exe“复制到“bin\Debug\UI.exe“。文件“bin\Debug\UI.exe“正由另一个进程使用,因此该进程无法访问此文件。
无法将文件“obj\Debug\UI.exe“复制到“bin\Debug\UI.exe“。文件“bin\Debug\UI.exe“正由另一个进程使用,因此该进程无法访问此文件。
150 0
|
XML 数据格式 Python
『PyQt5-基础篇』| 05 Qt Designer保存的.ui文件如何生成.py文件?
『PyQt5-基础篇』| 05 Qt Designer保存的.ui文件如何生成.py文件?
153 0
|
C++
解决VS打不开xxx.ui文件,xxx.ui无法打开文件
解决VS打不开xxx.ui文件,xxx.ui无法打开文件
342 0
|
数据采集 API Python
自制简易谷歌翻译器详解(附完整UI界面及代码文件)
自制简易谷歌翻译器详解(附完整UI界面及代码文件)
361 1
Qt:ui文件no member named actionXXX 解决方案
Qt:ui文件no member named actionXXX 解决方案
529 0
|
29天前
|
开发框架 JavaScript 前端开发
鸿蒙NEXT开发声明式UI是咋回事?
【10月更文挑战第15天】鸿蒙NEXT的声明式UI基于ArkTS,提供高效简洁的开发体验。ArkTS扩展了TypeScript,支持声明式UI描述、自定义组件及状态管理。ArkUI框架则提供了丰富的组件、布局计算和动画能力。开发者仅需关注数据变化,UI将自动更新,简化了开发流程。此外,其前后端分层设计与编译时优化确保了高性能运行,利于生态发展。通过组件创建、状态管理和渲染控制等方式,开发者能快速构建高质量的鸿蒙应用。
100 3
|
13天前
|
开发框架 JavaScript 前端开发
HarmonyOS UI开发:掌握ArkUI(包括Java UI和JS UI)进行界面开发
【10月更文挑战第22天】随着科技发展,操作系统呈现多元化趋势。华为推出的HarmonyOS以其全场景、多设备特性备受关注。本文介绍HarmonyOS的UI开发框架ArkUI,探讨Java UI和JS UI两种开发方式。Java UI适合复杂界面开发,性能较高;JS UI适合快速开发简单界面,跨平台性好。掌握ArkUI可高效打造符合用户需求的界面。
55 8