首页 > 技术文章 > 【原创】QT在嵌入式系统中显示中文的方法

M-Bing 2014-05-31 17:53 原文

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

  效果图:

推荐阅读