[原创]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(); }
效果图: