Qt 图标素材
Fontawesome提供了一些免费的图标素材,可以使用Solid样式的,比Regular样式全。
图标查找 Find Icons with the Perfect Look & Feel | Font Awesome
点击图标后(如主页图标),上方就可以看到Unicode码(16进制,以0x+Unicode格式使用)。
1、下载字体(图标),以fontawesome-free-6.4.0-desktop为例,下载地址 Releases · FortAwesome/Font-Awesome (github.com)
解压后,otfs文件夹里得到Solid样式文件(其他两个样式太少,只用Solid的)
2、在软件中加载otf文件
# 接口及调用方法 * 所有接口都可以在**quiwidget.h**及其他相关的头文件中看到,都有中文注释,方便易懂。 * 调用方式请查看**main.cpp**及**demo**文件夹下的源码,源码本身就是很好的例子。 * 使用时请把**quiwidget.h、quiwidget.cpp、main.ico、main.qrc**以及**qss.qrc**这5个文件和**image**以及**qss**这2个文件夹复制到您的工程文件夹中,并把这些内容都链接到您的工程中,在您的cpp文件中引用**quiwidget.h**这个头文件即可。 * 若缺少上述文件,代码编译不会报错,但编译出的程序运行时会崩溃,请您注意。 * 上述文件中**quiwidget.h**和**quiwidget.cpp**这2个文件是必不可少的核心文件,其他文件都是可以自行创建和修改的。 * 其中**main.ico**可以替换成您自己的图标,**main.qrc**和**qss.qrc**都可以自行创建和编辑,但请注意同时修改源码中的相关部分。 * **snap**文件夹中是效果图。
//引入图形字体 int fontId = QFontDatabase::addApplicationFont(":/image/Font Awesome 6 Free-Solid-900.otf"); QString fontName = QFontDatabase::applicationFontFamilies(fontId).at(0); iconFont = QFont(fontName);
labs.clear(); iconFont.setPixelSize(15); QStringList list; for (int i = 0; i < 1000; i++) { QChar str = QChar(0xf000 + i); QString tip = QString("0xf%1").arg(i, 3, 16, QChar('0')); if (!checkFont(str)) { list << tip; continue; } QLabel *lab = new QLabel; lab->setAlignment(Qt::AlignCenter); lab->setFont(iconFont); lab->setText(str); lab->setToolTip(tip); lab->setMinimumSize(30, 30); labs.append(lab); } qDebug() << "no text font" << list.count() << list; ui->widgetFontPanel->setWidget(labs, 20); ui->widgetFontPanel->setMargin(3); ui->widgetFontPanel->setSpacing(3);
【其他方式】
也可以在git上直接使用案例中的png图