Qt4.8.6 ARM(DM3730)中文显示,文泉驿正黑

原创 2016年08月22日 10:47:11

这类文章其实好多网友分享,但是这几天遇到一个奇葩问题,不得不记录一下。

一个DM3730开发板把文泉驿正黑字体拷贝到qt的fonts目录中,重启开发板后就能正常显示中文了,但是另外一块开发板却不行,就算把fonts目录中的其他字体都删除了,还是不能显示中文,中文都是空白。两块开发板是一起烧写制作的,按道理不应该出现这种现象,但是linux有时候就这么奇葩,可能是不小心改动哪儿了。现在又不想重新烧写一次,太麻烦了,因为毕竟只有字库这块有问题。

解决中文显示问题一般流程如下。

1.下载文泉驿正黑字体

我用的桌面版linux是RedHat,在/usr/share目录中包括了该字体。其他发行版linux不太清楚,现在把该字库上传,需要的可以下载。

下载链接:http://download.csdn.net/detail/caoshangpa/9609350

2.将字体拷贝到ARM开发板中

将字体拷贝到Qt的fonts目录中,我的是/usr/lib/qt/4.8.6/lib/fonts,并将该路径添加到环境变量,如下所示。

export QT_QWS_FONTDIR=/usr/lib/4.8.6/lib/fonts。

3.使用字体

在main函数中添加

QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForLocale(codec);

QFont font;
font.setPixSize(20);
font.setFamily(("WenQuanYi Zen Hei"));

//这里为何是WenQuanYi Zen Hei,参http://www.cnblogs.com/liu_xf/archive/2011/07/05/2098144.html

font.setBold(false);
a.setFont(font);

第一块开发板这样设置就可以正常显示中文了,但是第二块开发板却不行,必须按照下列步骤。

1.下载文泉驿正黑字体

2.将字体拷贝到ARM开发板中

这时不一定要拷贝的fonts目录中,我直接拷贝到和应用程序同一目录了。

3.使用字体

在main函数中添加

QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForLocale(codec);
QFontDatabase::addApplicationFont("wqy-zenhei.ttc");
QFont font;
font.setPixelSize(20);
font.setFamily("WenQuanYi Zen Hei");
font.setBold(false);
a.setFont(font);

注意多了QFontDatabase::addApplicationFont("wqy-zenhei.ttc");这一句,用于指定自定义字体,由于我将字体放到了应用程序所在目录,直接写文件名wqy-zenhei.ttc就行。

重启开发板,中文终于可以正常显示了。

参考链接:http://www.cppblog.com/biao/archive/2012/01/01/163345.html




版权声明:本文为灿哥哥http://blog.csdn.net/caoshangpa原创文章,转载请标明出处。

Qt 应用程序在ARM9板中显示中文

想听课?来发话题吧     CSDN APP 博客上线     双11赚“双喜“,奖励多多     有奖征文:云服务器使用初体验 原文地址:http://blog.csdn.net/...
  • qq_32320473
  • qq_32320473
  • 2015年11月12日 23:12
  • 644

Qt4.7在ARM开发板上如何设置中文显示

摘要:        QT4.7.0在移植到开发板上的时候,中文支持是必不可少的,如何让QT支持中文,如何制作QT支持的字体文件,如何使QT UI编辑器中的字号与开发板中的字号一致。作者通过实验进行...
  • yimiyangguang1314
  • yimiyangguang1314
  • 2012年02月07日 16:06
  • 6682

使嵌入式Qt支持中文字体变换的方法(makeqpf)

QT4.7.0在移植到开发板上的时候,中文支持是必不可少的,如何让QT支持中文,如何制作QT支持的字体文件,如何使QT UI编辑器中的字号与开发板中的字号一致。作者通过实验进行了一一验证。 介绍: ...
  • zgrjkflmkyc
  • zgrjkflmkyc
  • 2013年06月10日 13:15
  • 10128

linux arm qt 中文字库 font_wenquanyi(文泉驿)

  • 2016年06月16日 13:27
  • 3.28MB
  • 下载

Qt & arm 中文乱码

MainWindow w; w.setFont(QFont("unifont",14,QFont::Normal));//使用字库 QTextCodec::setCodecForTr(Q...
  • cat8812
  • cat8812
  • 2016年01月12日 11:00
  • 136

Qt 应用程序在ARM9板中显示中文

Linux操作系统:Red Hat 5 ARM9开发板 :LT2400 Qt creator版本:1.3.1 ------------------------------------------...
  • pk124729136
  • pk124729136
  • 2012年11月24日 18:17
  • 2787

QT4.5编写程序在arm开发板上无法显示中文的问题

1)、天嵌公司的给的QT4.5文件系统是有中文字库的,不过我认为有缺陷,之前我说没有,现在发现在/opt/qt-4.5/lib/fonts里面有个unifont文件。调用这个字体就可以显示中文了。代码...
  • lifengxun20121019
  • lifengxun20121019
  • 2014年03月15日 22:41
  • 2661

嵌入式Qt-4.8.6显示中文并且改变字体大小和应用自己制作的字体库

问题: QT4.8.6在移植到开发板上的时候,中文支持是必不可少的,如何让QT支持中文,如何制作QT支持的字体文件,如何使QT UI编辑器中的字号与开发板中的字号一致。 详解: 1>如何让Q...
  • u014213012
  • u014213012
  • 2016年11月26日 16:32
  • 1593

ARM平台QT移植解决字体方案的终结篇

补充说明下: 最近本人在之前发表过一篇谬文,最近又重新移植了一下qt4.8.2的arm版本qt,成功解决了字体的问题,原因还是自己看配置时候不认真造成的,在此向看过此文的大侠们表示深深歉意,字体的大小...
  • newyoung518
  • newyoung518
  • 2013年06月28日 11:31
  • 1457

arm版Qt环境Linux系统文泉驿字体库

  • 2014年03月25日 16:26
  • 2.52MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Qt4.8.6 ARM(DM3730)中文显示,文泉驿正黑
举报原因:
原因补充:

(最多只允许输入30个字)