• 994阅读
  • 1回复

zhengtianzuo系列-Qt使用FontAwesome图标字体库 [复制链接]

上一主题 下一主题
离线zhengtianzuo
 

只看楼主 倒序阅读 楼主  发表于: 2017-11-11


官网: http://fontawesome.io/
中文网: http://www.fontawesome.com.cn/
GitHub: https://github.com/FortAwesome/Font-Awesome

首先我们从官网或者GitHub上下载到最新的源码

在解压目录中找到 fonts\fontawesome-webfont.ttf 拷贝出来
这个是我们Qt程序使用FontAwesome图标字体库时需要加载的
然后在css目录下找到font-awesome.css这个是我们开发时需要对字体编码进行查找用的

在官网的 http://fontawesome.io/icons/ 页面可以查看所有的图标, 挑选我们需要的
使用时比如我们需要用这个心形的图标


其名称为heart, 那么在font-awesome.css中我们通过查找就可以得到它对应的字体编码


其字体编码为 f004
后面我们代码中会用到这个

Qt工程中使用:

```
    // 添加字体文件
    int fontId = QFontDatabase::addApplicationFont(":/Font/fontawesome-webfont.ttf");
    QStringList fontFamilies = QFontDatabase::applicationFontFamilies(fontId);
    qDebug() << "fontFamilies.size() " << fontFamilies.size();

    // 创建字体
    QFont font;
    font.setFamily(fontFamilies.at(0));
    font.setPointSize(20);

    // 设置字体及样式、大小
    ui->ZoomInLabel->setFont(font);
    ui->ZoomInLabel->setText(QChar(0xf00e));
    ui->ZoomInLabel->setStyleSheet("color: rgb(0, 160, 230);");

    font.setPointSize(30);
    ui->ZoomOutLabel->setFont(font);
    ui->ZoomOutLabel->setText(QChar(0xf004));
    ui->ZoomOutLabel->setStyleSheet("color: green;");
```

其中设置的本文字符QChar(0xf004) 就是我们刚才heart的字体编码f004



需要完整代码请访问 QtWidgetsExamples
人生很短暂,只做好一件事,并且把它做到极致。
在线hanheyfon

只看该作者 1楼 发表于: 04-11
    
快速回复
限100 字节
 
上一个 下一个