当前位置: 首页 > news >正文

Qt内置图标速查表

文章目录

    • 1、说明🌾
    • 2、实现效果🌱
      • Qt6.7以下版本
      • Qt6.7以上版本
    • 3、主要代码🌳

更多精彩内容
👉个人内容分类汇总 👈

1、说明🌾

在我们使用Qt开发程序时,需要美化界面总会想到贴图,显示图标,但是下载图标又很麻烦;
Qt其实已经在QStyle类中内置了一些常用的图标,可以直接使用。
Qt6.7后版本在QIcon中也内置了图标。

2、实现效果🌱

Qt6.7以下版本

在这里插入图片描述

Qt6.7以上版本

在这里插入图片描述

3、主要代码🌳

#include "widget.h"
#include "ui_widget.h"#include <qlabel.h>
#include <QIcon>
#include <QStyle>
#include <QMetaEnum>
#include <QtMath>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);this->setWindowTitle("Qt内置图标速查表");// 将枚举的名称和数值添加进下拉列表中QMetaEnum m = QMetaEnum::fromType<QStyle::StandardPixmap>();int row = (int)qSqrt(m.keyCount());  // 计算一排多少个int x =0;int y = 0;for(int i = 1; i <= m.keyCount(); ++i){QStyle::StandardPixmap icon = QStyle::StandardPixmap(i - 1);   // 遍历获取枚举QLabel* label = new QLabel();label->setPixmap(this->style()->standardPixmap(icon));label->setAlignment(Qt::AlignCenter);  // 图标居中label->setToolTip(QString("[%1,%2] ").arg(x).arg(y) + m.key(i - 1));label->setFrameShape(QFrame::Box);   // 设置边框ui->gridLayout_style->addWidget(label, x, y, 1, 1);x++;if(i > 0 && i % row == 0){y++;x = 0;}}#if (QT_VERSION > QT_VERSION_CHECK(6, 7, 0))int count = (int)QIcon::ThemeIcon::NThemeIcons;row = (int)qSqrt(count);  // 计算一排多少个x =0;y = 0;for(int i = 1; i < count; ++i){QIcon icon = QIcon::fromTheme(QIcon::ThemeIcon(i - 1));QLabel* label = new QLabel();label->setPixmap(icon.pixmap(36));label->setAlignment(Qt::AlignCenter);  // 图标居中label->setToolTip(QString("[%1,%2] ").arg(x).arg(y) + icon.name());label->setFrameShape(QFrame::Box);   // 设置边框ui->gridLayout_icon->addWidget(label, x, y, 1, 1);x++;if(i > 0 && i % row == 0){y++;x = 0;}}
#endif}Widget::~Widget()
{delete ui;
}

相关文章:

  • 编译原理:由浅入深从语法树到文法类型
  • TMI投稿指南(三):共同作者
  • Unity-粒子系统:萤火虫粒子特效效果及参数
  • GPU虚拟化实现(四)
  • [实战] IRIG-B协议详解及Verilog实现(完整代码)
  • 【重走C++学习之路】22、C++11语法
  • vim粘贴代码格式错乱 排版错乱 缩进错乱 解决方案
  • C++(初阶)(十四)——多态
  • 程序进程多任务线程
  • el-dialog弹窗关闭时调了两次刷新数据的接口
  • Linux文件的一般权限
  • 在Spark集群中搭建Standalone
  • 2025“钉耙编程”中国大学生算法设计春季联赛(8)10031007
  • 嵌入式开发学习日志Day11
  • 【403 Error】Atcoder Beginner Contest 403 题解
  • Redo log,Undo log和binlog
  • 系统思考提升培训效能
  • 培养一个输出型的爱好
  • 【Git】项目多个分支开发、维护与优化处理 ing
  • miniconda在ARM64位芯片上面的安装
  • 辽宁辽阳火灾事故饭店经营者已被控制,善后处置全面展开
  • 昂立教育:去年减亏1.39亿元,今年以“利润持续增长”为核心目标
  • 今年3月全国查处违反中央八项规定精神问题16994起
  • 宜家上海徐汇商场明天恢复营业,改造后有啥新变化?
  • 我国核电总体规模首次跃居世界第一,发电量持续增长
  • 坤莹·帕塔玛·利斯达特拉任世界羽联主席