在QT/QML中使用FontAwesome做图标显示

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/logico/article/details/60133772

之前在做界面设计的时候一直都在为界面图标的显示花费太多的时间。自从做过网页前端的开发之后突然在想,在 QT 的界面显示上也用字体图标来显示不就很快解决图标问题了嘛。于是去 FontAwesome 官网下载了最新的字库。然后查QT导入第三方字库的方法,如下:

  1. 将字库加载到项目的资源文件
  2. 在主程序启动时加载字库
int main(...)
{
    //...
#if 1
    QFontDatabase::addApplicationFont(":/fonts/fontawesome-4.7.ttf");

#else
    //...For getting font name

    int loadedFontID = QFontDatabase::addApplicationFont(":/fonts/fontawesome-4.7.ttf");
    QStringList loadedFontFamilies = QFontDatabase::applicationFontFamilies(loadedFontID);
    if(!loadedFontFamilies.empty()) 
    {
        QString font = loadedFontFamilies.at(0);
        qDebug() <<"font name:"<<font;
    }
#endif
    //...
}

QML 中使用:

ToolButton {
    id: btnSettings
    font.family: "FontAwesome"
    text: "\uf013"
}

相关图标的 Cheat Sheet: http://fontawesome.io/cheatsheet/
效果:
设置按钮图标

展开阅读全文

没有更多推荐了,返回首页