Qt 應用程序在ARM9板中顯示中文

Linux操作系統:Red Hat 5

ARM9開發板 :LT2400

Qt creator版本:1.3.1

--------------------------------------------------------------------------------------------------------

1、從該網址獲得文泉驛字體http://font.chinaz.com/120501306950.htm

2、將“文泉驛微米黑.ttc”名改爲“wenquanyi.ttf”。這裏的擴展名是“.ttf

3、將修改後文泉驛字庫拷貝到arm板中的qt庫中的font目錄下中。例如你的qt

     的font的目錄路徑是“opt/ruanjian/Trolltech/qt-4.6.3/lib/fonts/”,則把修改後文泉

     驛字庫拷貝進去,同時在PC機上的qt庫中的font目錄中也相應的要加入修改後

    文泉驛字庫。

4、代碼編寫:

      編寫代碼前必須設置當前文件的的編碼格式。

      例如當前文件是“xx.c”或是“xx.h”,那麼選定後做操如下圖所示:

           

           

     這裏選擇的是GB2312。選擇後部分代碼具體編寫如下:

      #include <QtGui/QApplication>

      #include "mainwindow.h"

     #include<QTextCodec>

     int main(int argc, char *argv[])

    {

        QApplication a(argc, argv,QApplication::GuiServer);

       /*

      這裏的三句代碼中的QTextCodec::codecForName("GB2312")必須設置成GB2312,也就

     是說必須和當前文件的編碼格式一致不然顯示出的中文即是亂碼。且在這設置後其

     他地方就無需在設置了,但其他文件的編碼格式必須保持爲GB2312

     */

     QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));

     QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));

     QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));

     MainWindow w;

     w.setFont(QFont("wenquanyi",20,QFont::Normal));

     w.setWindowTitle("顯示中文");

     w.show();

     return a.exec();

   }

--------------------------------------------------------------------------------------------------------

實驗結果如下:

正確情況即當前文件編碼格式和代碼中設置一致。

錯誤情況即當前文件編碼格式和代碼中設置不一致。

 

發佈了25 篇原創文章 · 獲贊 8 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章