ARM板Qt开发—中文字库支持以及jpg图片显示支持

在使用arm-linux-gcc交叉编译Qt源码以后,并且成功移植Qt的库文件到ARM开发板以后,可以成功运行自己开发的Qt软件。但是存在两个小问题需要注意,一个是中文支持,一个是JPG格式的图片显示。

  • PC机开发换机: Red Hat Enterprise Linux 6.0
  • ARM开发板: FriendlyARM Mini2440
  • 触摸屏: 天嵌4.3寸480*272分辨率
  • 交叉工具链版本号: arm-linux-gcc-4.4.3

中文字库支持

Qt移植后$QTDIR/lib/fonts目录下的部分字库,该字库不包含中文字库

既然原字库不包含中文字库,那么就需要我们手动添加中文字库。一般选择的是文泉驿中文字库。可以Baidu或者Google搜索一下文泉驿字库,一般完整字库要40M+,为了节省空间,我自己下载了一个2.6M大小的部分字库,但是已经足够我开发板开发学习使用了。请根据自己的需求来下载,手动添加到ARM开发板的$QTDIR/lib/fonts目录下。本人使用的文泉驿字库如下图所示。

文泉驿字库

安装完字库以后,在Qt的编程代码中也需要支持UTF-8中文格式,部分代码如下:

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

编程交叉编译以后,测试一下代码,看看是否可以显示中文。关闭Mini2440的Terminal Server, 然后通过串口在终端上输入下面的命令执行自己开发的helloWorld程序:
./helloWorld -qws -font wenquanyi

JPG格式图片的显示

作为新手,交叉编译并移植Qt库函数到ARM上,以为各项配置均正常,结果使用Qt编程显示图片的时候,在PC端的x11编译可以显示出图片。但是交叉编译程序,下载到Mini2440开发板上JPG格式图片就显示不出来。本人开发的程序中,还涉及了sqlite3的数据库编程,数据库保存了图片的绝对路径。刚开始以为数据库读取出错,调试程序代码搞了好久。结果发现其实Qt移植时还留下了一些尾巴没有搞清楚,现在把它扫干净。

移植Qt到ARM开发板时,需要执行./configure,后面加了一大串的参数。有一个编译参数一般设置为-qt-libjpeg,你需要检查自己的编译参数是否添加了这个jpeg库函数支持。一种检查的方法就是进入你的Qt库函数目录$QTDIR/plugins/imageformats。如果没有找到这个imageformats的目录,说明当时编译时你没有添加图片支持,这时你就需要将这个配置补上去,然后重新编译一次Qt嵌入式的源代码,再来完成如下几步。

  • 在ARM开发板上设置以下几个环境变量,在/etc/profile文件中修改或增加:
        export LD_LIBRARY_PATH=$QTDIR/plugins/imageformats:$LD_LIBRARY_PATH
        export QT_PLUGIN_PATH=$QTDIR/plugins
  • 在Qt的pro文件中增加QTPLUGIN += qjpeg

完成上述几步,即可在ARM上显示出JPG图片。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值