如何在Qt中使用FontAwesome

时间:2017-03-12 01:08:12

标签: c++ qt font-awesome

FontAwesome可以很容易地将可编辑的图标添加到HTML中:

QPushButton *qB = new QPushButton("TXT");
qB -> setProperty("class", "fa fa-camera-retro");

我尝试将 FontAwesome 图标添加到Qt小部件,但它没有显示:

{{1}}

我怎样才能使它与Qt小部件一起使用?

2 个答案:

答案 0 :(得分:12)

Qt不能那样工作。 您需要创建一个qrc文件并将FontAwesome捆绑到您的项目中,如下所示:

<RCC>
  <qresource prefix="/">
    <file alias="FontAwesome.otf">FontAwesome.otf</file>
  </qresource>
</RCC>

然后将其包含在.pro文件中:

RESOURCES += resources.qrc

然后加载并使用它,就像这样,提供你想要显示的图标的unicode字符:

if (QFontDatabase::addApplicationFont(":/FontAwesome.otf") < 0)
    qWarning() << "FontAwesome cannot be loaded !";

QFont font;
font.setFamily("FontAwesome");
font.setPixelSize(32);

ui->pushButton->setFont(font);
ui->pushButton->setText("\uf083");

在您的情况下,相机图标代码为indicated here

结果:

enter image description here

答案 1 :(得分:0)

我希望对Qt5和FontAwesome 5.x的最新版本执行相同的操作。经过研究,我在GitHub中找到了一个非常简单的类,用于在Qt 5和Qt 6项目中使用QWidget使用Font Icon。此类为助手提供了使用很棒的Font(v4.7,v5.15和v6.0)和Google Material Icon(v4)的帮助。

代码很小,并提供了在QPushButton,QToolButton等中显示图标所需的所有功能。

在这里,GitHub链接:https://github.com/philvl/ZFontIcon