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原创文章,转载请标明出处。 https://blog.csdn.net/caoshangpa/article/details/52274561

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

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

从零开始移植QT4.8.5之四--交叉编译QT程序并运行在OK6410上

首先我们需要自己写一个代码,什么 代码都行,拿来别人的也可以。可以在windows或者linux上写都行,我个人的习惯是在windows下面编辑代码,查看运行效果,效果没问题了在拿到linux下进行交...
  • andylauren
  • andylauren
  • 2016-07-23 10:44:03
  • 2776

ubuntu下qt4.8.6运行ui界面不显示中文,原因是qtconfig默认的字体不支持中文

步骤一 ubuntu安装中文输入法使用。 1:System Settings–>Language Support–>Install/Remove Languages 2:选中chinese,点击...
  • hhhhh89
  • hhhhh89
  • 2017-02-15 16:59:35
  • 2488

qt在板子上字很小与中文显示的解决方法

qt程序在PC上跑的时候,字体大小没有问题,但是下到开发板上后,就变成非常的小,几乎看不见了,       板子helper2416   qt4  7寸液晶屏   作者:帅得不敢出门 c++哈哈堂3...
  • zmlovelx
  • zmlovelx
  • 2012-08-29 13:37:39
  • 3861

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

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

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

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

Kali Linux 1.0 新手折腾笔记

Kali Linux 1.0 新手折腾笔记(2013.3.21更新) 转载自:http://www.2cto.com/Article/201304/200418.html 昨天折腾了 Kali ...
  • LanderlYoung
  • LanderlYoung
  • 2013-09-29 15:52:41
  • 2865

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

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

Qt 4.8.4中文显示问题

问题描述       因为项目需要,重新用上了Qt 4.8.4,在之前的一段时间内,我一直是在使用Qt 5。实际上,本来项目是要使用Qt 5的,但是遇到几个莫名其妙的问题,解决办法繁琐,不利于后期项目...
  • u010780613
  • u010780613
  • 2016-05-26 11:04:15
  • 1516

QT下添加字库支持

QT版本:QT5.3.1,运行在Ubuntu14.04(这个无关紧要) 编译好的QT程序在ARM-linux设备下运行,查看是否支持需要的字体类型,如果不支持则添加。1、确认当前设备下(文件系统)下...
  • langdao04
  • langdao04
  • 2017-12-22 15:32:11
  • 332
收藏助手
不良信息举报
您举报文章:Qt4.8.6 ARM(DM3730)中文显示,文泉驿正黑
举报原因:
原因补充:

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