在使用qt作為介面開發有個好處,就是qt有個機制可以使介面語言翻譯成不同國家的語言,這就是qt國際化。
qt國際化使用的方式:
1. 首先是把所有需要翻譯的字串都用tr()包起來,因為qt會在載入的時候通過這個呼叫去判斷是否是需要翻譯的字串,另外也可以使用q
translator::translate函式翻譯。
2.然後需要在pro檔案裡面指定乙個 ts檔案,在編譯的時候就會把需要翻譯的字串生成到ts檔案,然後使用linguist對檔案進行編輯,把字串翻譯成對應的國家的語言。如果是多個國家,可以把剛剛那個檔案拷貝多次,然後進行翻譯即可。
translations = zh.ts
3. 最後需要應用程式載入你想要使用的翻譯檔案。
a(argc,argv);
qtranslatorqttranslators[
2];
}
qttranslators[1].load(
+"/zh.qm"
);
a.installtranslator(&qttranslators[1]);
}
}
注: 在使用qt的一些控制項的時候,qt會有一些自己的翻譯,比如右鍵選單的翻譯等。如果需要對這些進行翻譯,那就需要載入qt提供的中文翻譯檔案。路徑為:qt安裝路徑\msvc2013\translations\qt_zh_cn.qm. 但是這個檔案在qt5上面發現有qtextedit等類的右鍵選單沒有被翻譯,可以使用下面鏈結的翻譯檔案:
QT學習記錄一
好了,現在開始記錄我學習qt的學習歷程 本人也不是計算機專業出來的,自學了一點,但還是不好找工作,於是參加了培訓,雖然感覺沒多學到什麼 程式設計的學習生涯就是不斷的看別人的原始碼,然後自己參考著寫寫自己的,把別人的好東西收集起來,等自己某一次需要的時候,知道有這個技巧可以用,就非常完美了。在我看來,...
QT學習記錄 QDockWidget
設定浮動視窗顯示大小,可以在dock裡面放一些其他控制項,然後設定這些控制項的大小,如 qdockwidget dock newqdockwidget qstring dock this 建立乙個浮動視窗 qgroupbox box newqgroupbox this 建立乙個容器 box setm...
QT學習記錄 QVariant
qvariant可以儲存多種型別,包括自己定義的型別 qvariant常用的函式 setvalue value fromvalue 例 設定內容 qvariant test test.setvalue hello 或者 qstring str qstring hello world qvariant...