[原创]QT在嵌入式系统中显示中文的方法
此篇文章主要借鉴:http://zzqh007.blog.163.com/blog/static/44434847201011312168296/
移植QT4.5到mini2440上,遇到在QT中显示中文的问题,根据从网上搜索的资料,现将解决方法总结如下:
第一步:下载QT所支持的字库,这里可以下载http://sourceforge.net/projects/wqy/files/wqy-zenhei/0.8.38%20(Pangu)/wqy-zenhei-0.8.38-1.tar.gz/download?use_mirror=nchc&use_mirror=nchc&18950117=
第二步:将下载后的字库解压,将ttc文件拷贝到嵌入式文件系统下Qt目录的lib/fonts下,注意要设置QT的环境变量export QT_QWS_FONTDIR=$QPEDIR/lib/fonts/
第三步:在代码中添加如下:
#include <QtGui/QApplication>
#include <QTextCodec> /**1.添加此头文件**/
#include "dialog.h"
#include "find.h"
int main(int argc, char *argv[])
{
/**2.添加下面三句话**/
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QApplication a(argc, argv);
FindDialog *dialog = new FindDialog;
/**3.添加要使用的字库,和字体大小,wpy-zenhei即为字库名**/
dialog->setFont(QFont("wqy-zenhei",14,QFont::Normal));
dialog->show();
return a.exec();
}
效果图: