一.简介

Font Awesome号称是为Bootstrap设计的完美图标字体,经常出现在各类网页中,非常流行。
官网: https://fontawesome.com/
中文网: http://www.fontawesome.com.cn/
GitHub: https://github.com/FortAwesome/Font-Awesome
1. 首先我们从官网或者github上下载到最新的源码
建议从github上下载,github上已经是更新6.1了,官网上还是3.2.1
2. 在解压目录中找到 webfonts\fa-solid-900.ttf拷贝出来(目录里其他的ttf应该也可以),这个是Qt程序使用FontAwesome图标字体库时需要加载的
3. 然后在https://fontawesome.com/v5/cheatsheet可以查看所有的图标对应的16进制编码,这个编码也是Qt程序需要用到的
4. 在http://fontawesome.io/icons/ 页面可以搜索我们需要的图标,非常方便,比如需要一条狗的图标,自己输入dog


点击这条狗,还能显示图标对应的编码和支持该图标的Font Awesome版本


二.使用方法

1.直接加载

int fontId = QFontDatabase::addApplicationFont(":/fa-solid-900.ttf");
QStringList fontFamilies = QFontDatabase::applicationFontFamilies(fontId);;QFont font;
font.setFamily(fontFamilies.at(0));
font.setPixelSize(24);ui->label->setFont(font);
ui->label->setText(QChar(0xf6d3));
ui->label->setStyleSheet("color: rgb(0, 160, 230);");QString str = QString("%1%2").arg(QChar(0xf0ab)).arg(" 下载");
ui->pushButton->setFont(font);
ui->pushButton->setText(str);
ui->pushButton->setFlat(true);
ui->pushButton->setFocusPolicy(Qt::NoFocus);


2.使用QtAwesome

这个库将图标封装成了QIcon,还支持动效,里面自带了一个sample
github地址:https://github.com/gamecreature/QtAwesome
如何添加到自己的Qt工程中呢,方法很简单
include(QtAwesome/QtAwesome.pri)
下面是一个例子:

#include "QtAwesome.h"#include <QApplication>
#include <QMainWindow>
#include <QPushButton>
#include <QVBoxLayout>
#include <QWidget>int main(int argc, char *argv[])
{QApplication app(argc, argv);QMainWindow w;QtAwesome* awesome = new QtAwesome(&w);awesome->initFontAwesome();QVBoxLayout* layout = new QVBoxLayout();// a simple beer button//====================={QPushButton* beerButton = new QPushButton( "Cheers!");QVariantMap options;options.insert("anim", qVariantFromValue( new QtAwesomeAnimation(beerButton) ) );beerButton->setIcon( awesome->icon( fa::beer, options  ) );layout->addWidget(beerButton);}// a simple beer checkbox button//=============================={QPushButton* toggleButton = new QPushButton("Toggle Me");toggleButton->setCheckable(true);QVariantMap options;options.insert("color", QColor(Qt::green) );options.insert("text-off", QString(fa::squareo) );options.insert("color-off", QColor(Qt::red) );toggleButton->setIcon( awesome->icon( fa::checksquareo, options ));layout->addWidget(toggleButton);}// add the samplesQWidget* samples = new QWidget();samples->setLayout(layout);w.setCentralWidget(samples);w.show();return app.exec();
}

原文链接:https://blog.csdn.net/caoshangpa/article/details/79421240

Qt中使用Font Awesome图标字体库相关推荐

  1. 在Unity中使用Font Awesome图标字体

    Font Awesome 是一个前端用到的图标字体,简单说是个特殊的字体,里面不是文字都是图标. 用这种方法可以简单的做出即使放大很多也不会出现锯齿的图标,不过好像图标不需要放大很多的说.很好玩就是了 ...

  2. 在QT中使用图标字体库

    之前研究过在UI中加载什么样的图标而不失真,然后我找到了SVG文件,加载到UI中后不会造成失真:最近研究了一个在某位大神用QT写的UI,有了新的收获,原来存在另外一种更方便的方法,那就是使用图标字体库 ...

  3. Qt使用FontAwesome图标字体库

    官网: http://fontawesome.io/ 中文网: http://www.fontawesome.com.cn/ GitHub: https://github.com/FortAwesom ...

  4. Qt之字体文件(TTF)图标字体库

    在看了别人源代码后发现里面有个非常好看的字体,查 了些资料现在记录下: 一套绝佳的图标字体库和CSS框架: http://fontawesome.dashgame.com/ 这套图形字体真的非常好看, ...

  5. Font Awesome一套绝佳的图标字体库和CSS框架的使用

    场景 Font Awesome 一套绝佳的图标字体库和CSS框架 官网: http://fontawesome.dashgame.com/ 实现 从官网下载资源文件,解压后的目录 将上面解压后的四个目 ...

  6. html css导航栏字体图标,HTML+CSS入门之两种图标字体库

    本篇教程介绍了HTML+CSS入门之两种图标字体库,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < ## 0. 前言 比较基础的图标加载:和块元素的背景background ...

  7. Android引用ttf图标字体库

    转载请注明出处:http://blog.csdn.net/yyh352091626/article/details/53113677 作为一个Android开发者,自己想做一个app练手,有个比较头疼 ...

  8. 非常实用,Android引用ttf图标字体库

    转载请注明出处:http://blog.csdn.net/yyh352091626/article/details/53113677 作为一个Android开发者,自己想做一个app练手,有个比较头疼 ...

  9. 使用Font-Awesome图标字体库

    方法一,在vue +Element 的项目中直接安装.使用Font-Awesome图标字体库: 1. 安装font-awesome: 2.在main.js中引入: import 'font-aweso ...

最新文章

  1. 【视觉SLAM14讲】ch3课后题答案
  2. 相机开发:海康板卡相机开发
  3. mysql查询子表的语句_MySQL基本SQL语句之单表查询、多表查询和子查询
  4. 使用SonarCloud对.NET Core项目进行静态代码分析
  5. php搜索文件名,window_Windows7内置搜索如何同时搜索文件名与内容,  Win7的搜索功能效果非常强 - phpStudy...
  6. Diccuz!NT的dll版本号控制技巧
  7. 一个具有20位地址和32位字长的存储器_详解西门子间接寻址之存储器间接寻址...
  8. Linux 下使用 gdb 调试 core 文件
  9. IBM参与马鞍山模式创新 为中国医疗信息化立新示范
  10. 16位灰度数据成像_DICOM Pixel Data核心图像信息数据介绍
  11. 毕业设计论文选题系统系统用例图_基于UML的毕业设计管理系统的分析与设计
  12. 串口转usb驱动c语言程序,usb serial驱动下载-usb serial converter驱动下载 官方版usb转串口驱动程序-win7/8/10/xp32/64位-IT猫扑网...
  13. 树莓派 kali系统默认密码
  14. win7计算机相机,笔记本win7怎么拍照_win7电脑照相机如何打开
  15. 『概率知识』伯努利试验及n重伯努利试验+方差协方差理解!
  16. 离散数学笔记(期末复习用,持续更新…)
  17. Cpp环境【CQYZOJ3145】【CQOI2916】学生宿舍依法集会权遭受侵害案例
  18. 5G千兆智能网关的车联网应用
  19. 欧冠超级计算机,超级计算机预测欧冠决赛:红军65%概率夺冠 萨拉赫最可能进球...
  20. 基于python和selenium爬取JD商城商品信息并且分析用户对于产品的满意程度

热门文章

  1. UE4 二维地图的缩放与拖拽操作
  2. 移动游戏机和PC已合并游戏的奇点
  3. j-link V7.22b 提示“The connected J-Link is defective“
  4. 带你使用JS-SDK自定义微信分享效果
  5. gg 修改器游戏被保护_王者荣耀安卓和IOS修改超长游戏名字方法
  6. 前端移动端几个组件库
  7. 拓嘉启远电商:如何提高拼多多店铺信誉
  8. qt 不规则图形 消除锯齿
  9. 情报研判分析系统开发,可视化大数据研判平台建设
  10. hostapd配置解析