实战|Qt开发WordBN笔记软件#10 添加Font Awesome字体图标

01 背景

【WordBN字远笔记】是天恩软件工作室开发的一款免费笔记软件;WordBN基于VS2019、Qt6.5开发,使用Qt Quick(QML)开发语言。

本课程将以【WordBN字远笔记】的界面为实战基础,详细介绍如何基于Qt/QML开发语言,从零开始开发一套真正的程序,包括国际化、版本发布、安装包制作等项目实战技巧。

本课程重点不是教你如何开发一个笔记软件,而是教你如何利用Qt/QML+C++开发一个完整的程序,整套课程规划有40+章节,敬请关注!


本章内容《#10 添加Font Awesome字体图标;自定义字体图标基础组件》

02 课程目标

  • 在QML工程引入Font Awesome字体图标功能。
  • 新建自定义字体图标基础组件YFontText,验证图标显示效果。

03 知识点

  • 字体图标:字体图标(Font Icons)是一种利用字体文件(如.ttf、.woff、.svg等格式)来显示图标的技术。它通过特殊的字体文件将图标作为字符(glyphs)嵌入到字体中,然后通过CSS样式将这些字符(即图标)渲染在页面上。字体图标相比传统的图片图标(如PNG、JPEG等),具有可缩放性、可定制性、兼容性、轻量级、易于使用、更新和维护等多种优势:
  • FontLoader:FontLoader是一个用于在QML页面中动态加载字体的元素,它允许开发者在应用程序运行时加载并使用自定义字体,而不是依赖于编译时包含的字体。FontLoader提供了灵活的方式来管理字体文件,支持通过名称、本地路径或网络URL等多种方式加载字体。
  • Text元素:Text元素用于在QML应用程序中显示文本。它是一个非常灵活和强大的组件,允许你控制文本的显示方式,包括字体、颜色、对齐方式等。

04 下载Font Awesome字体图标库

  • 下载文件:font-awesome-4.7.0.zip
  • 解压到任意目录下,取出 fontawesome-webfont.ttf、font-awesome.css 文件

  • fontawesome-webfont.ttf:字体图标文件,用于添加QT工程资源文件里面
  • font-awesome.css:CSS文件,用于查找字体图标编码

05 添加字体图标文件到Qt工程

  • 复制 fontawesome-webfont.ttf 文件到 源码工程根目录/resource 目录下:

  • 修改CMakeLists.txt文件,添加 fontawesome-webfont.ttf 文件到 qtaddqml_module 代码位置,如下示例:
qt_add_qml_module(appYourWordBN
    URI YourWordBN
    VERSION 1.0

    // ...
    RESOURCES resource/fontawesome-webfont.ttf

}

06 加载字体图标文件

  • 修改 YApplicationWindow.qml,利用 FontLoader 加载 fontawesome-webfont.ttf 字体,代码如下:
ApplicationWindow {

    // ...
    FontLoader {
        source: "/YourWordBN/resource/fontawesome-webfont.ttf"
    } // FontLoader
    
    // ...
}
    

07 使用字体图标

  • 新增 YFontText.qml 文件,使用 "FontAwesome" 字体名称,代码如下:
import QtQuick

Text {
    font.family: "FontAwesome"
    verticalAlignment: Text.AlignVCenter
    horizontalAlignment: Text.AlignHCenter
}
  • 显示字体图标效果,找到一个字体图标编码,如选择图标 fa-check 编码为 f00c,在QML里面使用代码如下:
YFontText {
    text: "uf00c"
    font.pointSize: 30
}

08 课后练习

  • 学会查找指定图标字体编码:

  • 用记事本打开 font-awesome.css,搜索 "fa-check" ,找到对应编码"f00c",如下图:

  • 查找笔记软件需要用到的图标,如退出程序、新建笔记、新建文件夹、帮助按钮等图标,用笔记软件记下来备用。

-End-

#想了解更多精彩内容,关注下方公众号,还有示例源码、开发工具免费下载。

本人小杨哥:

超20年C++开发经验,独立软件开发;著名开源产品高并发C++应用服务器MYCP作者;开源企业即时通讯软件Entboost首席架构师;开发有WordBN字远笔记等共享软件产品。

招C++/Qt开发学员,欢迎关注咨询~~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

天恩软件工作室

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

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

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

打赏作者

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

抵扣说明:

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

余额充值