Qt之字体文件(TTF)
简述
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哈哈~