Qt控制項中文顯示適配,看完不後悔

2021-10-10 06:34:53 字數 1550 閱讀 8666

版本宣告:qt 5.12.2

本文建立在閱讀他人部落格的基礎上,嘗試並總結出極其精簡的qt控制項適配為中文步驟。大部分部落格是教你一條一條改,量大累死人,類似以下方式修改**的,看見都想罵一句ch。

qmessagebox *msgbox =

newqmessagebox

(qmessagebox::question,tr(

"對話方塊標題"),

tr("對話方塊內容"

), qmessagebox::yes | qmessagebox::no)

;msgbox-

>

button

(qmessagebox::yes)

->

settext

("是");

msgbox-

>

button

(qmessagebox::no)

->

settext

("否");

msgbox-

>

exec()

;

不如節約時間摸魚抓蝦,或者幹些人生大事,言歸正傳,先認識。

首先在安裝目錄下,找到ts字尾的檔案,這就是qt翻譯原始檔,以下是展示的qt本身的翻譯檔案,很齊全。

不用做任何操作,就是讓各位認識一下。在mingw的翻譯檔案路徑下,找到對應的qt_zh_cn.qm,將該檔案新增到專案資源檔案中。

這是編譯器裡面翻譯檔案的發布版本,按理說專案構建執行應該生效的,但不難發現,很多控制項的按鈕之類的都是英文或非中文,意味著該檔案並沒有生效。

以下是qt語言家(linguist)可以閱讀qm檔案,也可以在"檔案"選項裡對ts檔案進行發布。

qt_zh_cn.ts的翻譯檔案可以通過qt語言家翻譯成qt_zh_cn.qm這類二進位制檔案。

從圖中可以看到是由十六進製制組成的,至於二進位制嘛,大家應該懂的。

接下來便是核心操作了,這張圖應該解釋完了一切,將qt_zh_cn.qm新增到資源目錄下即可。

執行專案看看實際效果,不行可以打我別問我。

當然還有其他方式,都是一樣的,就不一一贅述了,這種方法最省事,對於其他控制項也可以直接使用。

Qt顯示中文

以下說的只是自己的一些總結,不對了或不全面還望指正。qtextcodec setcodecfortr qtextcodec codecforname gb18030 qfont font times 10,qfont normal,false 就上面的3句話就ok了,而且是在qt4環境下 網上有個方...

Qt中文顯示

qt預設的編碼 unicode 是不能顯示中文的,可能由於windows的預設編碼的問題,windows預設使用 gbk gb2312 gb18030 所以需要來更改qt程式的編碼來解決中文顯示的問題。qt中有專門的乙個類來處理編碼的問題 qtextcodec 1.設定qobject的成員函式tr ...

Qt 中文顯示

qt預設的編碼 unicode 是不能顯示中文的,可能由於windows的預設編碼的問題,windows預設使用 gbk gb2312 gb18030 所以需要來更改qt程式的編碼來解決中文顯示的問題。qt中有專門的乙個類來處理編碼的問題 qtextcodec 可以以下的這些方法來設定編碼。1.設定...