问题:
使用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