解决QDialogButtonBox按钮的英文翻译问题

简介: 解决QDialogButtonBox按钮的英文翻译问题

问题:


使用Qt Creator设计师,把QDialogButtonBox拖到界面上,显示3个标准按钮:“Ok”、“Cancel”和"Apply"运行,结果按钮显示英文。怎么让它们变中文呢?



解决过程:


复制qt_zh_CN.qm放入到工作目录下,使用QTranslator加载,QApplication.installTranslator(...).


结果:无效。怎么办?



解决办法:


办法1、手动设置【推荐】


//将buttonbox中的ok/cancel/apply变成中文
    ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("确定"));
    ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("取消"));
    ui->buttonBox->button(QDialogButtonBox::Apply)->setText(tr("应用"));


办法2、在qt安装找到qt_zh_CN.ts,里面手动添加:

<context>
    <name>QPlatformTheme</name>
    <message>
        <location filename="../src/widgets/qdialogbuttonbox.cpp" line="+42"/>
        <location line="+18"/>
        <source>OK</source>
        <translation>确定</translation>
    </message>
    <message>
        <location line="+54"/>
        <source>Cancel</source>
        <translation>取消</translation>
    </message>
.....
</context>


然后再生成qt_zh_CN.qm文件



参考文献


https://blog.csdn.net/qiuchengw/article/details/38821215


相关文章
|
8月前
|
Web App开发
喂~讲真~我很讨厌chrome谷歌浏览器的默认填充输入框input样式咧,敲击讨厌滴啦,怎么去掉介个样式尼
喂~讲真~我很讨厌chrome谷歌浏览器的默认填充输入框input样式咧,敲击讨厌滴啦,怎么去掉介个样式尼
|
前端开发 开发者
超级链接| 学习笔记
快速学习超级链接。
超级链接| 学习笔记
|
存储 前端开发 程序员
iOS开发:实现点击常用控件弹出地区选择框(万能方法)
在iOS开发中会遇到一些选择选项的需求,而且点击一个控件弹出一个选择框,选择之后展示到前端,然后再把选择的内容传给后台或者做本地存储。这个需求对于大多数开发者来说可以为小儿科,但是作为一个爱记录的程序猿来说相当可贵,所以还是那句话,只分享给有缘人,大牛可以飘过,不喜勿喷请走开。
447 0
iOS开发:实现点击常用控件弹出地区选择框(万能方法)
SwiftUI极简教程28:TextEditor多行文本框的使用
SwiftUI极简教程28:TextEditor多行文本框的使用
1211 0
SwiftUI极简教程28:TextEditor多行文本框的使用
|
存储 JavaScript 前端开发
原生JS实现文本域提示语
原生JS实现文本域提示语
|
存储 JavaScript Android开发
第六章:按钮点击(5)
保存瞬态数据假设你在SimplestKeypad程序中输入了一个重要的数字,并且你的系统崩溃了 - 可能是打了电话。 稍后,您关闭手机,有效终止该程序。下次运行SimplestKeypad时会发生什么? 你以前输入的长串数字是否应该被丢弃? 还是应该看起来好像该程序从您最后离开的状态恢复? 当然,对于像SimplestKeypad这样的简单演示程序来说并不重要,但在一般情况下,用户希望移动应用程序能够准确记住他们上次与程序进行交互时所做的事情。
890 0