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文件

 

qui: 【此项目作者为刘典武,不是我自己的原创项目,望周知。也请大家不要骚扰刘典武。】一个用Qt开发的用来生成QSS文件的小程序,附简单Demo,主程序本身也可以看作一个很好的Demo。 (gitee.com)

# 接口及调用方法

* 所有接口都可以在**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图

Qt-Frameless-Window-DarkStyle/darkstyle at master · Jorgen-VikingGod/Qt-Frameless-Window-DarkStyle · GitHub

 

posted @ 2023-04-12 15:57  夕西行  阅读(272)  评论(0编辑  收藏  举报