Qt学习笔记:使用阿里巴巴的普惠体

环境

系统:Windows10 64位 家庭版
Qt版本:5.9.3 msvc2015 32位
编译器:Visual Studio 2015 专业版

目的

在Qt程序中使用阿里巴巴最新发布的商用字体——普惠体,可以有效地防止字体带来的商业纠纷。

资源链接

阿里巴巴字体
阿里巴巴普惠体下载

步骤

一、获取字体
1.通过上面的资源链接得到阿里巴巴普惠体的压缩包,然后解压,里面还有一个压缩包继续解压,最终得到字体如下图:
在这里插入图片描述 二、示例Demo
1.新建一个Qt Widgets Application工程,这里我命名为FontDemo,如下图所示:在这里插入图片描述2.把获取到阿里巴巴普惠体字体复制到工程目录下,为了保持良好的文件管理,我新建了一个文件夹叫font,如下图所示:
在这里插入图片描述
3.添加一个资源文件,取名为resource,然后添加前缀font,添加font文件夹下的Alibaba-PuHuiTi-Regular字体,如下图:
在这里插入图片描述注意:
1.这里我本来把所有的字体类型都添加到资源文件中,但是这样编译不过,提示堆已满,所以我就只添加Alibaba-PuHuiTi-Regular这个字体。
2.把字体添加到资源文件中会增大编译出来的exe的大小。

4.在Widget类中添加2个QLabel用来显示文字,如下图(默认字体):
在这里插入图片描述
5.根据字体文件获取字体名称,用来设置字体:
关键代码

QString Widget::getFontNameFromFontfile(const QString &filePath)
{
    QString font = "";

    QFile fontFile(filePath);
    if(!fontFile.open(QIODevice::ReadOnly))
    {
        qDebug() << "Open font file error";
        return font;
    }

    int loadedFontID = QFontDatabase::addApplicationFontFromData(fontFile.readAll());
    QStringList loadedFontFamilies = QFontDatabase::applicationFontFamilies(loadedFontID);
    if(!loadedFontFamilies.empty())
    {
        font = loadedFontFamilies.at(0);
    }

    fontFile.close();

    return font;
}

效果如下图所示:
在这里插入图片描述
示例源码(没有积分的可以给我发邮件)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值