QTableView如何插入图片(ICON)在文字的右边

2023-11-01

QTableView如何插入图片(ICON)在文字的右边方法一:

QStyledItemDelegate 继承自 QAbstractItemDelegate,主要用于为 Model-View 中的数据项提供显示和编辑功能。
采用继承QStyledItemDelegate重写paint的方法来实现重绘

#include <QTableView>
#include <QPainter>
#include <QStyledItemDelegate>
#include <QStyleOptionViewItem>
class IconDelegate : public QStyledItemDelegate
{
public:
    IconDelegate(QObject* parent = nullptr) : QStyledItemDelegate(parent) {}

    void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override
    {
        QStyleOptionViewItem opt = option;
        initStyleOption(&opt, index);

        if (index.column() == 1)  //限定只改变第2列,具体根据实际情况写判断条件
        {
            QRect iconRect = option.rect;
            iconRect.setLeft(iconRect.right() - opt.rect.height()+5);  //重要代码,图片所在位置

            QIcon icon = qvariant_cast<QIcon>(index.data(Qt::DecorationRole));
            QSize iconSize = icon.actualSize(iconRect.size());

            QRect textRect = option.rect;
            textRect.setLeft(textRect.left()); //文字所在的位置

            painter->save();

            painter->drawText(textRect, Qt::AlignHCenter | Qt::AlignVCenter, index.data().toString());

            painter->restore();

            icon.paint(painter, iconRect, Qt::AlignCenter);
        }
        else
        {
            QStyledItemDelegate::paint(painter, option, index);
        }
    }
};

应用方法,只需要在tableview实例化之后设置此属性即可

m_tabview->setItemDelegate(new IconDelegate(m_tabview));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QTableView如何插入图片(ICON)在文字的右边 的相关文章

随机推荐

  • 重磅:饶毅正式举报裴钢院士!

    点击上方 CVer 选择加 星标 置顶 重磅干货 第一时间送达 来源 饶议科学 科技部 科奖中心 编辑 考博圈 学长 经过将近一年的严肃调查处理 1月21日 科研诚信建设联席会议联合工作机制发布 有关论文涉嫌造假调查处理情况的通报 以下简称
  • 【zedboard找不到COM串口bug】驱动下载地址

    今天在使用zedboard过程中出现了sdk终端没有COM串口的问题 解决方法见 zedboard串口bug最终解决办法 zynq开发 在SDK 终端Teminal找不到COM3 COM5等接口 无法连接uart串口 ZYNQ驱动问题 解决
  • 【源码】走一遍源码弄清ArrayList容器的扩容机制

    源码 走一遍源码弄清ArrayList容器的扩容机制 首先我们来看看ArraysList容器在整个Java集合框架中所处的位置 由此可见ArrayList是Java集合框架中 两大派系中Collection接口的子接口List的实现类 我们
  • 在macOS上搭建Flutter开发环境

    准备工作 1 下载flutter sdk 2 安装xcode 安装Android Studio 3 安装 Homebrew 安装fvm 安装adb 配置 1 环境变量配置 打开终端查看 ls a 1 打开 open bash profile
  • 作用域链的理解

    一 作用域 作用域又分为了 全局作用域 和 函数作用域 ES6 之前 JavaScript 没有块级作用域 只有全局作用域和函数作用域 ES6 的到来 为我们提供了 块级作用域 可通过新增命令 let 和 const 来体现 全局作用域 在
  • Hexo+next主题美化静态博客

    前言 需要在Hexo下配置next主题 Hexo配置next主题教程 点我跳转 更改配置以后使用素质三连 hexo clean hexo g hexo s即可本地看到效果 hexo clean hexo g hexo s 注 部分参考自互联
  • CSS3有趣的渐变色

    程序设计之道无远弗届 御晨风而返 杰佛瑞 詹姆士 这里给大家分享几个有趣的渐变色 用来丰富页面 一 背景色渐变 经常用的就是给背景色增加渐变效果 这里的语法顺序不要错 牵扯到优雅降级和渐进增强 标准语法写到最后也是为了兼容各个版本浏览器 让
  • curl命令的使用

    curl是利用URL语法在命令行方式下工作的开源文件传输工具 1 CURL URL 获取当个网页源码 默认将输出打印到标准输出中 curl www baidu com 2 CURL o O选项保存下载的文件到指定的文件中 o 将文件保存为命
  • AI工程师职业规划指南——中科院大牛告诉你如何成为一名语音识别工程师

    语音识别基础知识 数学与统计学 数学是所有学科的基础 其中的高等数学 数理方程 泛函分析等课程是必要的基础知识 概率论与数理统计也是语音识别的基础学科 声学与语言学 声学基础 理论声学 声学测量等是声学方面的基础课程 有助于了解更多声学领域
  • ElasticSearch学习笔记

    一 ES核心概念 elasticsearch 是面向文档的 一切都是 Json ES关系型数据库的对比记忆 ElasticSearch 关系型数据库 索引 indices 数据库 database 类型 types 表 tables 文档
  • Hive 数据仓库基础应用---第一篇

    hive 的数据定义语句 DDL 创建数据库 语法格式如下 CREATE DATABASE IF NOT EXITS database name COMMENT database comment LOCATION hdfs path WIT
  • arm架构安装docker-compose

    先安装好Docker 华为云arm架构安装Docker arm架构下安装docker compose 官网地址 https github com docker compose releases 官方没有提供arm架构的包 自己去找arm架构
  • 迅雷下载器无限制版_无敏感_无限速

    迅雷下载器5 8 下载链接 链接 https pan baidu com s 1ZYf1aRwZvW4PUT7qO0lKIg 提取码 if5x 速度如图 转载于 https www cnblogs com yzhyingcool p 109
  • CSS使网页适应不同屏幕大小(最实用的rem基础屏幕的适配方案)

    先看代码 复制使用即可 以下代码均可复制粘贴使用 我将以注释的形式解释代码左右 如您满意请给莫成尘点个Fabulous 牛顿说过 我之所以看得远 是因为我站在巨人的肩膀上 我们充分借鉴了element antd等的方案来适配 需 要 注 意
  • kafka消息删除机制

    kafka过期消息删除过程 有时候总觉得我的消息没到7天就被删除了 我还以为是我的kafka配置没有生效 了解到 kafka删除机制后才恍然大悟 kafka消息首先由用户设定一个或多个partition 每个partition中kafka会
  • 光圈

    镜头上写 1 1 8 说明该镜头的最大光圈是f 1 8 F number 光圈值 F number 指的是focal length number aperture 光圈 光圈指得是镜头中间开孔的大小 光圈的作用在于决定镜头的进光量 光圈值越
  • 机器学习基础篇(十二)——多层感知机

    机器学习基础篇 十二 多层感知机 一 概述 多层感知机 MLP Multi Layer Perceptron 由感知机 PLA Perceptron Learning Algorithm 推广而来 它最主要的特点是有多个神经元层 因此也叫深
  • 大咖云集,EI稳定检索,第14届机器学习与计算国际会议(ICMLC 2022)

    14th ICMLC 2022 第14届机器学习与计算国际会议 2月18 21日 中国广州 关于我们 机器学习是人工智能及模式识别领域的共同研究热点 其理论和方法已被广泛应用于解决工程应用和科学领域的复杂问题 为了给机器学习与计算研究领域的
  • 自带win10系统换win7的那些坑

    自带win10系统换win7的那些坑 这两天真是经历了一个换系统的巨坑 如果说这次换系统是一部历史的话那也一定是一部血泪史 今日4000多字的记录会把这部血泪史中的血和泪一一道出 不为别的只为 前车之鉴后事之师 更多内容请关注微信公众号 u
  • QTableView如何插入图片(ICON)在文字的右边

    QTableView如何插入图片 ICON 在文字的右边方法一 QStyledItemDelegate 继承自 QAbstractItemDelegate 主要用于为 Model View 中的数据项提供显示和编辑功能 采用继承QStyle