LinuxARM64运行Qt后出现无法显示字库问题的解决方案

  • 问题描述:运行后字体出现问题QFontDatabase: Cannot find font directory
  • 解决前提:
    • 其实就是移植后字体库中是空的,字没办法进行显示本质就是我们只需要通过某种手段将QT界面中的字母所调用的库进行填充即可
    • 此处需要注意的是,必须要看清楚路径,路径必须是字体文件.ttf的上一级目录可以通过whereis fonts找到本机中的fonts存储位置但是请务必确定fonts中哪一个目录才是真正保存.ttf的文件目录,以此目录的位置进行以下配置操作
    • 记录好报错的路径,即QFontDatabase: Cannot find font directory提醒中的路径为了方便,我假设这个路径记录为path1
    • 同时找对真正保存.ttf的文件目录假设路径记录为path2
  • 解决方法:
  • 方法一:
    • sudo vim /etc/profile
    • 在文件的最末尾加入export QT_QPA_FONTDIR=path2
    • 例如在本人例子中我的path2 = /usr/share/fonts/truetype/dejavu
    • 因此我在使用时候添加如下
      export QT_QPA_FONTDIR=/usr/share/fonts/truetype/dejavu
  • 方法二:
    • 在path1中增加fonts文件将path2进行链接
    • 本质就是在Qt库中创建一个fonts库并将.ttf文件进行移植
    • 具体可以参考https://qtway.blogspot.com/2018/08/qt-on-raspberry-qfontdatabase-error.html
  • 解决方案原理:
    • 在Qt实际调用中,其首先会查询QT_QPA_FONTDIR是否存在定义,若存在则直接调用其进行fonts配置,如果不存在,则会在path2即Qt库中直接寻找fonts,这其实也就是报错的原因所在。
    • 总而言之,我们只要配置好确定的库,这一切都可以得到解决。
  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值