問題:
使用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