之前在做界面设计的时候一直都在为界面图标的显示花费太多的时间。自从做过网页前端的开发之后突然在想,在 QT 的界面显示上也用字体图标来显示不就很快解决图标问题了嘛。于是去 FontAwesome 官网下载了最新的字库。然后查QT导入第三方字库的方法,如下:
- 将字库加载到项目的资源文件
- 在主程序启动时加载字库
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/
效果:
本文介绍了一种在QT界面设计中快速解决图标显示问题的方法,即通过使用字体图标替代传统图片图标。文中详细展示了如何从FontAwesome官网下载字体库,并将其加载到QT项目中。此外,还提供了在QML中调用字体图标的示例代码。
1371

被折叠的 条评论
为什么被折叠?



