Qt获取指定字体路径下的字体名

引言

平常我们知道一个字体的绝对路径后,想获取该字体绝对路径下的字体名称。即:
E:\test\build\debug\abc.ttf。其中abc.ttf为字体文件,那么想要从这个路径E:\test\build\debug\abc.ttf中得到abc,我们一般的方法都是从字体的绝对路径中提取abc,即字体名。本文记录一种不用做字符串提取的方法,可直接从该字体所在的绝对路径中得到字体名称。

实现

下面就如何从字体所在的绝对路径中得到字体名。提供所需的代码实现。

   QString fontFamilyPath =
        QCoreApplication::applicationDirPath() + "/abc.ttf";

   int fontID = QFontDatabase::addApplicationFont(fontFamilyPath);
   QStringList familiesList = QFontDatabase::applicationFontFamilies(fontID);
   QString appFontName = QString("Arial,%1").arg(familiesList[0]);

相关的头文件

#include <QFontDatabase>
#include <QStringList>
#include <QCoreApplication>

头文件若有多余或者不足,自己查询不足吧。

代码解释

fontFamilyPath 保存了字体的绝对路径。接下来根据字体的绝对路径获取字体的fontID ,再根据字体的id得到当前的字体名称列表,其字体名称列表中就是从当前字体的绝对路径中提取的字体名称abc,最后一行将得到的字体名称与新的字体Arial一起组成一个字符串appFontName 。
本文比较简洁,旨在记录自己接触到的比较新颖的解决方式,而不是采用惯用的字符串提取方法得到字体名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肩上风骋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值