问题:
使用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文件
参考文献