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原创文章,转载请标明出处。

相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

qt-4.8.5移植不能显示中文的解决办法

qt安装 cd qt-everywhere-opensource-src-4.8.5/ 1.配置 echo yes | ./configure -prefix /usr/local/qt...
  • bobbat
  • bobbat
  • 2016年05月24日 22:41
  • 1301

Qt显示多种字号大小

Qt显示多种字号大小            ZZZ:http://hi.baidu.com/weiweisuo1986/item/4f6b9797999836bc83d29501   最近在...
  • sno_guo
  • sno_guo
  • 2013年12月04日 20:10
  • 1681

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

linux 平台,Qt 使用,微软雅黑/文泉驿 字体

Qt 字体

如何让移植的嵌入式ARM显示中文汉字

如果你急于在ARM开发板上看到Qt显示中文,而不介意稍次的效果,可以在运行Qt程序时,增加设置字体的参数,比如运行名为hello的Qt程序:./hello -fn unifont 1.首先,需要...
  • bobbat
  • bobbat
  • 2016年05月25日 21:11
  • 2442

如何在arm板上让Qt5.8显示中文

转载:www.embsky.com 一、在Ubuntu系统的Qt中显示: 第一步:下载 文泉驿 或其他xxx.ttf字体。 第二步:放到Ubuntu系统的字体文件中 。 在: /usr/sha...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

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

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

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

想听课?来发话题吧     CSDN APP 博客上线     双11赚“双喜“,奖励多多     有奖征文:云服务器使用初体验 原文地址:http://blog.csdn.net/...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Qt4.8.6 ARM(DM3730)中文显示,文泉驿正黑
举报原因:
原因补充:

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