qtdesigner python 界面国际化

问题遇到的现象和发生背景
想要界面能顺利转换为英文版 但是不知道为什么切换成英文版的时候只有标题变了 其他没变
问题相关代码,请勿粘贴截图

    def English(self):
        try:
            self.trans = QTranslator()
            self.trans.load("en.qm")
            app = QApplication.instance()
            app.installTranslator(self.trans)
            self.retranslateUi(self)
            #self.setWindowTitle()
        except:
            pass

运行结果及报错内容
在qt预言家里全都翻译好了

img

报错

img

报错的位置在.ui生成的.py处
从16进制开始都报错 显示属性不对

img

解决有打赏
我想要达到的结果

serial_ui.py 这个代码有问题,SerialFrom没有属性checkBox_16_view。
方便的话你可以把serail_ui.py这个代码发出来给我们看看。

你的serial_ui.py是.ui文件直接转变过来的?是通过什么方式哩?难道是直接改扩展名?如果实在没办法个人建议先转txt记事本格式再转.py
望采纳谢谢啦

你用try except就看不到报错了,建议看看报错内容,还是说不报错,没反应?如果是这样的话是不是显示函数问题

Qt Designer国际化需要做的操作
首先,提取源文件中要翻译的字符串生成.ts文件,手动翻译,生成一个.qm文件。
其次,程序中使用QTranslator安装翻译文件。

具体步骤如下:

1、新建工程文件 .pro,文件格式如下:
SOURCES += main.py #main.py文件为导入main.ui 文件的py文件
FORMS += main.ui #main.py文件是用Designer生成的ui文件
TRANSLATIONS += zh_cn.ts #即将生成的中文翻译文件

2、利用 PySide下的 pyside-lupdate.exe进行翻译文件提取:
命令行语句为:
pyside-lupdate main.pro
在当前目录下会生成一个zh_cn.ts (main.pro中 TRANSLATIONS 的值),文件为XML格式。

3、使用QtLinguist翻译zh_cn.ts文件进行逐项翻译,并发布为.qm文件。
(1)选择翻译的语言:编辑--翻译文件设置 --选择目标语言。
(2)对列出的字符串进行逐项翻译,保存。每个字符串翻译完成后需要勾选工具栏上的勾号,将其设置为Finfished状态。
(3)生成.qm文件:文件--另发布为...--保存为qm Qt Designer的I18N文件。
也可以使用 PySide安装目录下的lrelease进行翻译:
lrelease zh_cn.ts,
这样会在当前目录下生成一个 zh_cn .qm的翻译文件
示图如下:

4、将 zh_cn.qm 加载到程序当中去,这样即可实现程序国际化。
将下面程序添加到主程序中:
import sys
app = QtGui.QApplication(argv)
myappTranslator = QtCore.QTranslator()
myappTranslator.load( "zh_cn.qm" )
app.installTranslator(myappTranslator)
mainwindow = MyWidget() #main.py文件中的窗口
sys.exit(app.exec_())
————————————————
版权声明:本文为CSDN博主「hyy0725」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hycfl0725/article/details/38514765