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();
}
--------------------------------------------------------------------------------------------------------
实验结果如下:
正确情况即当前文件编码格式和代码中设置一致。
错误情况即当前文件编码格式和代码中设置不一致。