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哈哈~

更多参考

posted @ 2016-06-15 13:35  挨踢人啊  阅读(3024)  评论(1编辑  收藏  举报