首页 > 其他分享 >QStandardItem先设置图标再插入QTreeView会影响插入性能

QStandardItem先设置图标再插入QTreeView会影响插入性能

时间:2024-09-14 17:37:28浏览次数:10  
标签:QTreeView 性能 插入 rectItem 绘制 QStandardItem 图标

所有的界面显示都交代理去绘制,否则会影响插入性能;一开始打算将类型图标通过QStandardItem创建时传给QStandardItem,在插入到model中,后来发现这样会降低插入的性能;

pItem = new QStandardItem(QIcon(":/foldericon.svg"), info.value("name").toString());

改成用代理QStyledItemDelegate的paint函数去绘制图标之后,插入性能提高了10倍;10万条每秒;所以所有的显示都通过代理去绘制实现;这样会有助于提高性能;

//绘制案件的图标

    QRect rectItem = option.rect;

    QIcon icon(":/analysisCenter/Resources/analysisCenter/caseicon.svg"); // 替换为你的图标路径

    QRect iconRect(rectItem.x() + 20, rectItem.y() + 8, 24, 24); // 设置图标大小和位置

    icon.paint(painter, iconRect);

标签:QTreeView,性能,插入,rectItem,绘制,QStandardItem,图标
From: https://www.cnblogs.com/bclshuai/p/18414409

相关文章

  • QTreeView实现搜索功能并且关键字标红
    1、需求描述实现组织树搜索,关键字红色显示;搜索规则,名称匹配显示,没有匹配不显示,子节点匹配,父节点即使没有匹配也显示;2.实现方法(1)top节点名称匹配关键则显示,否则隐藏voidTreeTaskList::SlotFilterChanged(QStringstrText){m_TreeDelegate->setProperty("FilterString"......
  • QTreeView代理QStyledItemDelegate实现按钮的鼠标hover移动和点击响应
    1.需求描述QStyledItemDelegate实现按钮的点击和响应功能,鼠标移动到按钮上,也会显示tooltip提示信息2.实现方法(1)重写editorEvent函数,根据type类型触发不同的响应函数为了实现按钮的响应,需要重写QStyledItemDelegate类的editorEvent函数,并根据插入时设置进去的type类型,判断是......
  • QTreeView代理QStyledItemDelegate实现按钮、图标的绘制
    1.需求描述代理实现按钮图标状态的绘制实现方法(1)重写paint函数,根据type类型绘制案件、文件夹、监控点、视频任务; 为了实现不同的item的样式,需要继承QStyledItemDelegate类型实现TreeTaskDelegate。重写paint函数,根据不同的类型type去绘制不同的按钮和状态;voidTreeTaskD......
  • PbootCMS文章插入图片不固定宽高的办法
    在PBootCMS中,如果不想让上传的图片有固定的宽度和高度,可以通过修改配置文件来实现这一目标。这样可以避免图片在不同设备上显示时出现变形的情况,特别是在手机端自适应布局的情况下。解决方法打开配置文件:打开/config/config.php文件。修改上传配置:将max_width和max_he......
  • HBuilderx如何插入图片
        今天快下课的时候老师让我们做书本练习,有一个HTML代码要敲,涉及到如何把图片插入到网页中,开始我的图片怎么做也没出来,后面寻求帮助知道怎么解决了,看看小伙伴是不是跟我一样的问题吧~    首先可以直接把图片拖到img中,图片命名可以自己看着来。代码运用这......
  • MSSQL插入更新语句生成
    declare@srcDBNamenvarchar(100),@destDBNamenvarchar(100)declare@srcTableNamenvarchar(100),@destTableNamenvarchar(100)declare@strWherenvarchar(500)declare@sqlnvarchar(max),@sql_colnvarchar(max)declare@SFGXint--源数据库set@srcDBName=N'eismount......
  • 前端实现字符串插入千位分割符
     前端开发时经常会遇到需要把一个很大的金额或是银行卡号进行千位分割展示,这里分享两个常用的方法:循环遍历字符长度添加和正则替换(此方法仅适用于正整数)letnum=123456789000;functionthousandSplit(number){letstr=String(number)//数字转换为字符串letre......
  • 算法与数据结构——二分查找插入点
    二分查找插入点二分查找不仅可用于搜索目标元素,还可以解决许多变种问题,比如搜索目标元素的插入位置。无重复元素情况Question给定一个长度为n的有序数组nums和一个元素target,数组不存在重复元素。现将target插入数组nums中,并保持其有序性。若数组中已存在元素target,则插入到......
  • PPT中的图形与图片:插入、调整与格式设置技术详解
    目录引言一、图形与图片的插入1.插入图形2.插入图片二、图形与图片的调整1.调整大小与位置2.裁剪与旋转3.图形与图片的合并与组合三、图片格式与布局设置1.图片格式设置2.图片布局设置示例案例:制作产品展示PPT四、结论引言在现代商务、教育和学术交流......
  • MySQL原理之UUID主键分析,插入或更新语法分析
    目录1MySQL不能用UUID做主键1.1前言1.2mysql和程序实例1.2.1准备工作1.2.2开始测试1.2.3程序写入结果1.2.4效率测试结果1.3使用uuid和自增id的索引结构对比1.3.1自增id1.3.2uuid1.4自增id缺点1.5雪花算法2插入或更新2.1onduplicatekey2.1.1定义2.1.2values函数2......