简述

TTF(TrueTypeFont)是Apple公司和Microsoft公司共同推出的字体文件格式,随着windows的流行,已经变成最常用的一种字体文件表示方式。

在一些特殊的场合,系统字符集不包含你要用的字体,这时候,如甲骨文等古文字处理,一般在“系统盘\WINDOWS\Fonts”里,直接双击能查看是什么样的字体。

Font Awesome

我们以Font Awesome(完美的图标字体)为例,讲解如何在程序中使用字体库。

详见:

可以在上面的网站中查看关于Font Awesome的所有介绍-特性、应用、下载等。

使用

下载Font Awesome,我们会找到对应的字体文件-fontawesome-webfont.ttf及样式文件-font-awesome.css,将fontawesome-webfont.ttf添加至资源中即可使用,对应的图标代码可在font-awesome.css中查看。

效果

源码

打开css文件,查找对应的图标,这里我们以放大、缩小图标为例查看对应的内容:

.icon-zoom-in:before {
content: "\f00e";
}
.icon-zoom-out:before {
content: "\f010";
}

下面,我们在程序中就可以使用了:

QLabel *pZoomInLabel = new QLabel(this);
QLabel *pZoomOutLabel = new QLabel(this); // 添加字体文件
int fontId = QFontDatabase::addApplicationFont(":/Font/fontawesome-webfont");
QStringList fontFamilies = QFontDatabase::applicationFontFamilies(fontId); // 创建字体
QFont font;
font.setFamily(fontFamilies.at(0)); //FontAwesome
font.setPointSize(20); // 设置字体及样式、大小
pZoomInLabel->setFont(font);
pZoomInLabel->setText(QChar(0xf00e));
pZoomInLabel->setStyleSheet("color: rgb(0, 160, 230);"); font.setPointSize(30);
pZoomOutLabel->setFont(font);
pZoomOutLabel->setText(QChar(0xf010));
pZoomOutLabel->setStyleSheet("color: green;");

我们不仅可以通过样式设置图标的颜色,也可以通过QFont设置大小,有意思O(∩_∩)O哈哈~

更多参考

Qt之字体文件(TTF)的更多相关文章

  1. Delphi XE5开发Android程序使用自定义字体文件.

    万事大吉,只欠根据字体文件(.ttf文件)切换阅读字体,通常Android系统只带三种以下字体.一般用Java/Eclipse开发的话比较简单,typeface的createFromAsset,cre ...

  2. Linux安装字体文件

    登录生成验证码的时候使用了monaco.ttf字体,没有安装字体的情况下,会报错:can't open resource Linux安装字体的方式其实很简单,就是调用fc-cache -f -v命令, ...

  3. cocos2d-x 中 TTF 字体文件的位置

    cocos2d-x 中,字体文件需要保存在 fonts 文件夹中,如果字体路径中没有 fonts/ 会自动添加上这个文件夹. 如果字体名称没有 .ttf 后缀,也会自动加上这个后缀. unsigned ...

  4. iOS使用自定义字体的方法(内置和任意下载ttf\otf\ttc字体文件)

    最近做了个有关阅读的应用,使用了自定义字体,学习了一下这方面的知识. 1.首先是最简单也普遍的做法,打包内置字符库文件: 把字体库文件添加到工程,如font1.ttf添加到工程,然后在工程plist添 ...

  5. 小程序使用阿里巴巴TTF字体文件以及图标

    转话地址https://transfonter.org 第一步:下载需要的字体图标 进入阿里图标官网http://iconfont.cn/搜索自己想要的图标,如这里需要一个购物车的图标,流程为: 搜索 ...

  6. [转]TrueType(TTF)字体文件裁剪(支持简体中文,繁体中文TTF字体裁剪)

    原文入口: TTF字体文件裁剪(支持简体中文,繁体中文TTF字体裁剪) 对于TrueType(TTF)字体格式的介绍可以看: https://www.cnblogs.com/slysky/p/1131 ...

  7. [微信小程序]字体文件,字体图标(.ttf,.woff,woff2)等无法显示问题

    一. 背景 项目引用了第三方UI框架Vant-weapp,但是前几天Vant的cdn被运营商封禁,导致van-icon无法使用. 有赞官方在Github上给出了在小程序app.wxss上添加以下代码的 ...

  8. @font-face字体文件用法

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. css字体文件

    ├── glyphicons-halflings-regular.eot├── glyphicons-halflings-regular.svg├── glyphicons-halflings-reg ...

随机推荐

  1. oc基础知识

    只在@interface中定义变量的话,你所定义的变量只能在当前的类中访问,在其他类中是访问不了的:而用@property声明的变量可以在外部访问. 用了@property去声明的变量,可以使用“se ...

  2. python 进程 multiprocessing模块

    一.multiprocess.process模块 1.process类 Process([group [, target [, name [, args [, kwargs]]]]]),由该类实例化得 ...

  3. Vue基础知识点

    基础知识: vue的生命周期: beforeCreate/created.beforeMount/mounted.beforeUpdate/updated.beforeDestory/destorye ...

  4. 原生javaScript完成Ajax请求

    使用原生javaScript完成Ajax请求,首先应该创建一个对象XMLHttprequest,考虑到兼容低版本IE浏览器,使用ActiveXObject对象,代码入下: var request; i ...

  5. js数字转换为float,取N个小数

    javascript中的变量都是弱类型,所有的变量都声明为var,在类型转换过程中就没有java那么方便,它是通过 parseInt(变量).parseFloat(变量)等方法来进行类型转换的.注意: ...

  6. 2015 Multi-University Training Contest 7 hdu 5371 Hotaru's problem

    Hotaru's problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  7. .C#-NET开源方向基本

    我的理解,nancyFx是一个.net的微型框架,可以在Linux环境下运行,ServiceStack也是全平台框架,更大一些 owin的概念:Open Web Server Interface Fo ...

  8. pip安装selenium时提示Unknown or unsupported command 'install'

    安装流程: 1.安装Python34 2.安装pip 下载setuptoos并安装,然后输入:easy_install pip 然后 配置path:C:\Python34\Scripts 3安装sel ...

  9. Tesseract 3.04 + VS2013 配置心得(包括静态库版本号和Release版本号)

    研究Tesseract也有几个星期了 走了一些弯路 网上有非常多VS2010的配置心得 但没有VS2013的, 找到一篇之后, 又发现会有一些小问题, 这里记录下来, 也为新人提供一些帮助. Tess ...

  10. 【iOS开发-30】UITabBarController的几种代理方法以及结合NSUserDefaults还原上次退出时被选中视图控制器和视图控制器的顺序

    一.UITabBarController的几种代理方法 在AppDelegate.h中加入一个协议<UITabBarControllerDelegate>.然后再AppDelegate.m ...