pyside6-uic生成py代碼中文為unicode(亂碼)的問題解決方案
前言
本來想用Java做客戶端,后來發(fā)現(xiàn)很多算法還是Python有現(xiàn)成的比較方便。
所以最終選擇了pyside6。但是用Designer(QT設(shè)計(jì)師)設(shè)計(jì)完后,生成的代碼中文部分顯示為unicode,也可以理解為亂碼。
就像這樣:self.pushButton.setText(QCoreApplication.translate("dialog", u"\u767b\u5f55", None))
雖然不影響最終展示,但作為強(qiáng)迫癥的我,必須解決!!
下面是解決方法:
1. 下載安裝ascii2uni
Mac用戶可使用homebrew安裝:brew install uni2ascii
(我是MacOS系統(tǒng))
其他用戶可去官網(wǎng)下載安裝: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是你設(shè)計(jì)UI文件的地址ui_LoginWindow.py是py文件輸出地址
以上三個(gè)是自定義的內(nèi)容,其他為固定命令。

但是!這樣每次都要輸入命令多麻煩??!下面是在PyCharm中的配置
2. PyCharm配置
我們可以在PyCharm中添加外部工具,以方便我們每次進(jìn)行生成Python代碼。
這里有個(gè)大坑,我先說一下吧。
本來在PyCharm中添加外部工具配置一下命令,應(yīng)該就可以跟命令行執(zhí)行的效果一樣了。
- 程序:
/Library/Frameworks/Python.framework/Versions/3.8/bin/pyside6-uic - 實(shí)參:
$FileName$ | ascii2uni -a U > UI_$FileNameWithoutExtension$.py - 工作目錄:
$FileDir$

但是!but!!!
我不知道PyCharm怎么回事,他最終執(zhí)行的命令
是:/Library/Frameworks/Python.framework/Versions/3.8/bin/pyside6-uic LoginWindow.ui "|" ascii2uni -a U > ui_LoginWindow.py
| 被 雙引號(hào)包裹了。導(dǎo)致生產(chǎn)的代碼還是中文亂碼!?。?!
由于我不知道PyCharm的什么原因,最終我只能通過shell腳本的方式來解決這個(gè)問題:
1. 在某個(gè)你能找到的目錄新建一個(gè).sh文件
我懶省事直接在項(xiàng)目目錄建了一個(gè),大家不要學(xué)我。

2. 腳本內(nèi)容
#!/bin/bash
if [ $# -ne 3 ]; then
echo "用法: $0 <pyside6-uic路徑> <輸入U(xiǎn)I文件> <輸出PY文件>"
exit 1
fi
pyside6_uic="$1"
input_ui="$2"
output_py="$3"
"$pyside6_uic" "$input_ui" | ascii2uni -a U > "$output_py"
更改剛剛創(chuàng)建的外部工具配置
程序:/Users/localhost/develop/PycharmProjects/sd-client-3/pyuic.sh
實(shí)參:/Library/Frameworks/Python.framework/Versions/3.8/bin/pyside6-uic $FileName$ $FileNameWithoutExtension$.py
工作目錄:$FileDir$
這里的三個(gè)配置需要根據(jù)你的實(shí)際目錄去更改,不要照著我的抄!

3. 解決前后對(duì)比
解決前

解決后:

以上就是pyside6-uic生成py代碼中文為unicode(亂碼)的問題解決方案的詳細(xì)內(nèi)容,更多關(guān)于pyside6-uic生成py unicode亂碼的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
如何使用PyTorch實(shí)現(xiàn)自由的數(shù)據(jù)讀取
這篇文章主要給大家介紹了關(guān)于如何使用PyTorch實(shí)現(xiàn)自由的數(shù)據(jù)讀取的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-03-03
基于Python編寫一個(gè)計(jì)算器程序,實(shí)現(xiàn)簡單的加減乘除和取余二元運(yùn)算
這篇文章主要介紹了基于Python編寫一個(gè)計(jì)算器程序,實(shí)現(xiàn)簡單的加減乘除和取余二元運(yùn)算,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
使用pyQT5顯示網(wǎng)頁的實(shí)現(xiàn)步驟
本文主要介紹了使用pyQT5顯示網(wǎng)頁的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
Python使用remove-bg庫快速去除圖片背景的完整指南
remove-bg是基于Python開發(fā)的圖片背景去除工具,封裝了remove.bg官方API,支持本地文件、網(wǎng)絡(luò)圖片和Base64編碼等多種輸入方式,提供多種分辨率設(shè)置和智能識(shí)別功能,文檔詳細(xì)介紹了安裝、使用方法及常見問題解答,適用于電商、創(chuàng)意設(shè)計(jì)等場(chǎng)景,需要的朋友可以參考下2026-04-04
Python動(dòng)態(tài)規(guī)劃之零錢兌換問題詳解
這篇文章主要介紹了Python動(dòng)態(tài)規(guī)劃之零錢兌換問題詳解,這次我們就按照套路模板,再來剖析一道經(jīng)典動(dòng)規(guī)題目零錢兌換,計(jì)算并返回可以湊成總金額所需的 最少的硬幣個(gè)數(shù) 如果沒有任何一種硬幣組合能組成總金額,返回-1,需要的朋友可以參考下2023-11-11
Python批量調(diào)整Word文檔中的字體、段落間距及格式
這篇文章主要為大家詳細(xì)介紹了如何使用Python的docx庫來批量處理Word文檔,包括設(shè)置首行縮進(jìn)、字體、字號(hào)、行間距、段落對(duì)齊方式等,需要的可以了解下2025-03-03
解決Python import docx出錯(cuò)DLL load failed的問題
今天小編就為大家分享一篇解決Python import docx出錯(cuò)DLL load failed的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02

