pyside6-uic生成py代码中文为unicode(乱码)的问题解决方案

 更新时间:2024年02月22日 11:30:46   作者:七维大脑  
这篇文章主要介绍了如何解决pyside6-uic生成py代码中文为unicode(乱码)的问题,文中通过代码和图文介绍的非常详细,对大家解决问题有一定的帮助,需要的朋友可以参考下

前言

本来想用Java做客户端,后来发现很多算法还是Python有现成的比较方便。

所以最终选择了pyside6。但是用Designer(QT设计师)设计完后,生成的代码中文部分显示为unicode,也可以理解为乱码。

就像这样:self.pushButton.setText(QCoreApplication.translate("dialog", u"\u767b\u5f55", None))

虽然不影响最终展示,但作为强迫症的我,必须解决!!

下面是解决方法:

1. 下载安装ascii2uni

Mac用户可使用homebrew安装:brew install uni2ascii
(我是MacOS系统)

其他用户可去官网下载安装:https://billposer.org/Software/uni2ascii.html#downloads

安装完以后使用以下类似命令即可生成正常的中文显示:

/Library/Frameworks/Python.framework/Versions/3.8/bin/pyside6-uic LoginWindow.ui | ascii2uni -a U > ui_LoginWindow.py 
  • /Library/Frameworks/Python.framework/Versions/3.8/bin/pyside6-uic 是你的uic地址
  • LoginWindow.ui 是你设计UI文件的地址
  • ui_LoginWindow.py 是py文件输出地址

以上三个是自定义的内容,其他为固定命令。

在这里插入图片描述

但是!这样每次都要输入命令多麻烦啊!下面是在PyCharm中的配置

2. PyCharm配置

我们可以在PyCharm中添加外部工具,以方便我们每次进行生成Python代码。

这里有个大坑,我先说一下吧。

本来在PyCharm中添加外部工具配置一下命令,应该就可以跟命令行执行的效果一样了。

  • 程序:/Library/Frameworks/Python.framework/Versions/3.8/bin/pyside6-uic
  • 实参:$FileName$ | ascii2uni -a U > UI_$FileNameWithoutExtension$.py
  • 工作目录:$FileDir$

在这里插入图片描述

但是!but!!!

我不知道PyCharm怎么回事,他最终执行的命令

是:/Library/Frameworks/Python.framework/Versions/3.8/bin/pyside6-uic LoginWindow.ui "|" ascii2uni -a U > ui_LoginWindow.py

| 被 双引号包裹了。导致生产的代码还是中文乱码!!!!

由于我不知道PyCharm的什么原因,最终我只能通过shell脚本的方式来解决这个问题:

1. 在某个你能找到的目录新建一个.sh文件

我懒省事直接在项目目录建了一个,大家不要学我。

在这里插入图片描述

2. 脚本内容

#!/bin/bash

if [ $# -ne 3 ]; then
    echo "用法: $0 <pyside6-uic路径> <输入UI文件> <输出PY文件>"
    exit 1
fi

pyside6_uic="$1"
input_ui="$2"
output_py="$3"

"$pyside6_uic" "$input_ui" | ascii2uni -a U > "$output_py"

更改刚刚创建的外部工具配置

程序:/Users/localhost/develop/PycharmProjects/sd-client-3/pyuic.sh

实参:/Library/Frameworks/Python.framework/Versions/3.8/bin/pyside6-uic $FileName$ $FileNameWithoutExtension$.py

工作目录:$FileDir$

这里的三个配置需要根据你的实际目录去更改,不要照着我的抄!

在这里插入图片描述

3. 解决前后对比

解决前

在这里插入图片描述

解决后:

在这里插入图片描述

以上就是pyside6-uic生成py代码中文为unicode(乱码)的问题解决方案的详细内容,更多关于pyside6-uic生成py unicode乱码的资料请关注脚本之家其它相关文章!

相关文章

  • 如何使用PyTorch实现自由的数据读取

    如何使用PyTorch实现自由的数据读取

    这篇文章主要给大家介绍了关于如何使用PyTorch实现自由的数据读取的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • 基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算

    基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算

    这篇文章主要介绍了基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 使用pyQT5显示网页的实现步骤

    使用pyQT5显示网页的实现步骤

    本文主要介绍了使用pyQT5显示网页的实现步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Python使用remove-bg库快速去除图片背景的完整指南

    Python使用remove-bg库快速去除图片背景的完整指南

    remove-bg是基于Python开发的图片背景去除工具,封装了remove.bg官方API,支持本地文件、网络图片和Base64编码等多种输入方式,提供多种分辨率设置和智能识别功能,文档详细介绍了安装、使用方法及常见问题解答,适用于电商、创意设计等场景,需要的朋友可以参考下
    2026-04-04
  • Python动态规划之零钱兑换问题详解

    Python动态规划之零钱兑换问题详解

    这篇文章主要介绍了Python动态规划之零钱兑换问题详解,这次我们就按照套路模板,再来剖析一道经典动规题目零钱兑换,计算并返回可以凑成总金额所需的 最少的硬币个数 如果没有任何一种硬币组合能组成总金额,返回-1,需要的朋友可以参考下
    2023-11-11
  • 常用的10个Python实用小技巧

    常用的10个Python实用小技巧

    这篇文章主要介绍了常用的10个Python实用小技巧,帮助大家更好的理解和学习Python,感兴趣的朋友可以了解下
    2020-08-08
  • 介绍Python中的一些高级编程技巧

    介绍Python中的一些高级编程技巧

    这篇文章主要介绍了介绍Python中的一些高级编程技巧,包括推导师和装饰器等重要的进阶知识点,皆为深入学习Python开发的必备基本功,需要的朋友可以参考下
    2015-04-04
  • Python批量调整Word文档中的字体、段落间距及格式

    Python批量调整Word文档中的字体、段落间距及格式

    这篇文章主要为大家详细介绍了如何使用Python的docx库来批量处理Word文档,包括设置首行缩进、字体、字号、行间距、段落对齐方式等,需要的可以了解下
    2025-03-03
  • Python抽象类应用详情

    Python抽象类应用详情

    这篇文章主要介绍了Python抽象类应用详情,抽象类就是控制子类的方法的名称,要求子类必须按照父类的要求的实现指定的方法,且方法名要和父类保持一致,下文更多相关介绍需要的小伙伴可以参考一下
    2022-04-04
  • 解决Python import docx出错DLL load failed的问题

    解决Python import docx出错DLL load failed的问题

    今天小编就为大家分享一篇解决Python import docx出错DLL load failed的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论