解決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

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章