qt預設的編碼(unicode)是不能顯示中文的,可能由於windows的預設編碼的問題,windows預設使用(gbk/gb2312/gb18030),所以需要來更改qt程式的編碼來解決中文顯示的問題。
qt中有專門的乙個類來處理編碼的問題(qtextcodec)。
1. 設定qobject的成員函式tr()的編碼。
qtextcodec::setcodecfortr(qtextcodec::codecforname("gbk"));
其中的codecforname函式是根據引數中的編碼名稱,在系統已經安裝的編碼方案中需找最佳的匹配編碼型別,該查詢是大小寫不敏感的。如果沒有找到,就返回0。
技巧:可以用codecforlocale函式來返回現在系統的預設編碼,這樣更容易做多編碼的程式而不用自己手動來更改具體的編碼。
2. 使用qstring的fromlocal8bit()函式
這個方法是最快的,系統直接自動將char *的引數轉換成為系統預設的編碼,然後返回乙個qstring。
int main(int argc,char *argv)
{3. 用qtextcodec的tounicode方法來顯示中文
int main(int argc,char *argv)
{
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.設定...
QT顯示中文
qt顯示中文 1 如何定製字型檔 移植字型檔 需要將至少兩個檔案賦值到.lib font目錄下 1.fontdir 檔案。這個是應用程式尋找當前系統中最合適自己需要的字型檔的索引 2,需要的字型庫檔案,一般是多個。具體移植那乙個,看你使用的字型檔是什麼了,比如我現在的系統我就是移植的wenquany...