【转】Qt使用FontAwesome图标字体库

官网: 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
后面我们代码中会用到这个

也有更方便的方式: 官网直接查看字体编码 http://fontawesome.io/cheatsheet/

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

原文地址:https://blog.csdn.net/zhengtianzuo06/article/details/78504976

你可能感兴趣的:(【转】Qt使用FontAwesome图标字体库)