C++ 如何在Qt中使用

C++ 如何在Qt中使用,c++,qt,font-awesome,C++,Qt,Font Awesome,使将可编辑图标添加到HTML中变得相当容易: <link rel="stylesheet" href="path/to/font-awesome/css/font-awesome.min.css"> <i class="fa fa-camera-retro"></i> 我如何才能让它与Qt小部件一起工作?Qt不是这样工作的。 您需要创建一个qrc文件并将其绑定到项目中,如下所示: <RCC> <qresource prefix="/"

使将可编辑图标添加到HTML中变得相当容易:

<link rel="stylesheet" href="path/to/font-awesome/css/font-awesome.min.css">

<i class="fa fa-camera-retro"></i>
我如何才能让它与Qt小部件一起工作?

Qt不是这样工作的。 您需要创建一个qrc文件并将其绑定到项目中,如下所示:

<RCC>
  <qresource prefix="/">
    <file alias="FontAwesome.otf">FontAwesome.otf</file>
  </qresource>
</RCC>
然后加载并使用它,如下所示,提供要显示的图标的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");
if(QFontDatabase::addApplicationFont(:/fontsawesome.otf”)<0)
qWarning()按钮->设置字体(字体);
用户界面->按钮->设置文本(“\uf083”);
在您的情况下,摄像头图标代码为

结果:


我希望对Qt5和最新版本的Font5.x也能做到这一点。经过一些研究,我在GitHub中找到了一个非常简单的类,用于在QWidget的Qt5和Qt6项目中使用字体图标。这个类提供了帮助程序来使用字体awesome(v4.7、v5.15和v6.0)和Google材质图标(v4)

代码非常小,提供了在QPushButton、QToolButton等中显示图标所需的所有功能


这里是GitHub链接:。

如何将资源插入到应用程序中?您是否下载了它们并将其作为资源插入到.qrc文件中?那么应用程序的样式表呢?您可以使用QtAwesome Project:,它允许您从fa代码创建QIcon。例如:菜单操作->设置图标(真棒->图标(fa::beer).pixmap(32,32));挑剔:使用Qt资源系统是可选的。这是个好主意,但并不总是必要的。例如,在OS X上,您可能希望利用应用程序捆绑包。您可以从以下位置获取定义图标代码点的头文件#包括“IConFontAwesome.h”ui->Button->setText(图标\u FA\u CAMERA\u RETRO);你能在答案中嵌入相关代码而不是链接到代码库吗。我认为这将帮助其他用户确切地理解是什么代码解决了这个问题。
RESOURCES += resources.qrc
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");