美文网首页
【转】Qt使用FontAwesome图标字体库

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

作者: 星星在线 | 来源:发表于2019-04-17 21:47 被阅读0次

    官网: 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图标字体库

          本文链接:https://www.haomeiwen.com/subject/ekwowqtx.html