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

本文介绍在Qt程序中使用阿里巴巴普惠体的方法。环境为Windows10 64位家庭版,Qt 5.9.3 msvc2015 32位,编译器是Visual Studio 2015专业版。目的是避免字体商业纠纷。给出了字体下载链接,并详细说明了获取字体、创建示例Demo等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境

系统: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;
}

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

要在Qt使用阿里巴巴普惠字体,你可以按照以下步骤进行操作: 1. 首先,获取阿里巴巴普惠字体文件。你可以通过下载阿里巴巴普惠的压缩包并解压,得到字体文件。 2. 将获取到的阿里巴巴普惠字体复制到你的Qt工程目录下的一个文件夹中,例如新建一个名为"font"的文件夹。 3. 在Qt的资源文件(.qrc)中添加这个字体文件。你可以在资源文件中新建一个前缀为"font"的资源,并将"font"文件夹下的阿里巴巴普惠字体文件添加到资源中。 4. 在需要使用阿里巴巴普惠的地方,你可以通过获取字体文件的路径来设置字体。你可以使用以下代码来获取字体文件的路径: ``` 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; } ``` 这段代码将会返回字体文件的路径。 5. 使用获取到的字体名称来设置需要使用阿里巴巴普惠的控件的字体。你可以使用`setFont()`函数将字体应用到需要的控件上。 需要注意的是,阿里巴巴普惠的粗(Bold)可能需要特殊处理。在使用fontloader加载普惠时,你可能会发现与设计稿对不上,Bold号字体比Medium号字体明显细,而其他字体则正常。所以,你可以尝试将Bold属性直接设为true。 以上是在Qt使用阿里巴巴普惠字体的步骤和注意事项。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Qt学习笔记使用阿里巴巴普惠](https://blog.youkuaiyun.com/chase_hung/article/details/89814921)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Qt 阿里巴巴普惠2.0的坑](https://blog.youkuaiyun.com/miku531/article/details/128017991)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值