我使用Qt5作为Python编程的可视化框架。在使用Designer绘制图形界面之后,需要使用PyQt5或者是PySide2的编译工具将ui文件编译成py文件。在使用PySide2时出现了与PyQt5不一样的地方,当使用如下命令:
pyside2-uic -o ui_x.ui ui_x.py
编译出界面文件之后,我发现中文字符在编译后的文件中显示成Unicode编码,而不是像PyQt5一样直接显示中文,如下:
...
def retranslateUi(self, Form):
Form.setWindowTitle(QCoreApplication.translate("Form", u"Form", None))
self.label.setText(QCoreApplication.translate("Form", u"\u6700\u5c0f\u503c", None))
...
此问题虽然不影响最后的软件界面的效果,但是看起来很让强迫症郁闷,有哪位大大有解决方法吗?
https://blog.csdn.net/weixin_52799373/article/details/132688102
参考这篇blog,可以使用ascii2uni,不过这个工具是linux下的,需要用wsl来跑。
$OutputEncoding = [System.Text.Encoding]::UTF8
pyside2-uic.exe uiFile.ui | wsl ascii2uni -a U > ui_file.py
win下>默认会以utf16输出,所以生成前需要先设置下输出编码