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();
}
--------------------------------------------------------------------------------------------------------
實驗結果如下:
正確情況即當前文件編碼格式和代碼中設置一致。
錯誤情況即當前文件編碼格式和代碼中設置不一致。