QItemDelegate QItemDelegate QItemDelegate
qtreeview点击某一行有颜色显示 c++
在Qt中,要实现QTreeView点击某行有颜色显示,可以通过设置QTreeView的itemDelegate来自定义显示样式。以下是一个简单的例子,演示如何为QTreeView的项设置点击时的背景颜色。
#include <QApplication>
#include <QTreeView>
#include <QStandardItemModel>
#include <QItemDelegate>
#include <QPainter>
class HighlightDelegate : public QItemDelegate {
public:
HighlightDelegate(QTreeView *view, QColor color)
: QItemDelegate(), treeView(view), highlightColor(color) {}
protected:
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override {
if (option.state.testFlag(QStyle::State_Selected)) {
QStyleOptionViewItem opt(option);
opt.palette.setColor(QPalette::Highlight, highlightColor);
opt.palette.setColor(QPalette::HighlightedText, Qt::white);
QItemDelegate::paint(painter, opt, index);
} else {
QItemDelegate::paint(painter, option, index);
}
}
private:
QTreeView *treeView;
QColor highlightColor;
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QTreeView treeView;
QStandardItemModel model;
// 填充模型数据
for (int i = 0; i < 5; ++i) {
QStandardItem *item = new QStandardItem("Item " + QString::number(i));
model.appendRow(item);
}
treeView.setModel(&model);
// 设置自定义代理,并指定高亮颜色
HighlightDelegate *delegate = new HighlightDelegate(&treeView, Qt::blue);
treeView.setItemDelegate(delegate);
treeView.show();
return app.exec();
}
在这个例子中,HighlightDelegate类继承自QItemDelegate并重写了paint方法。当项被选中时,它会使用指定的颜色(highlightColor)绘制背景。这样,当你点击QTreeView中的任何一行时,它将会被高亮显示。
你需要将上述代码编译并运行,就能看到效果。记得在你的项目中链接Qt GUI模块。
相关文章:
QItemDelegate QItemDelegate QItemDelegate
qtreeview点击某一行有颜色显示 c 在Qt中,要实现QTreeView点击某行有颜色显示,可以通过设置QTreeView的itemDelegate来自定义显示样式。以下是一个简单的例子,演示如何为QTreeView的项设置点击时的背景颜色。 #include <QApplication>…...
MySQL数据库 外键默认约束和action 基础知识【2】推荐
数据库就是储存和管理数据的仓库,对数据进行增删改查操作,其本质是一个软件。MySQL就是一种开源的关系型数库,也是最受欢迎的数据库之一,今天对MySQL数据的基础知识做了整理,方便自己查看,也欢迎正在学习My…...
JS正则表达式学习与实践
JS正则表达式学习笔记 1 学习笔记1.1 字符类1.2 量词和分支1.3 标志1.4 锚点1.5 断言 2 常用正则2.1 检查微信浏览器2.2 检查移动端浏览器2.3 检查中文字符2.4 手机号严格2.5 手机号比较宽松2.6 手机号宽松2.7 邮箱验证2.8 金额格式2.9 身份证号2.10 至少8为有数字、大小写字符…...
Java数据结构(五)——栈和队列
文章目录 栈和队列栈基本概念栈的模拟实现集合框架中的栈栈的创建栈的方法栈的遍历 栈的应用及相关练习括号匹配逆波兰表达式求值出栈入栈次序匹配最小栈 几个含"栈"概念的区分 队列基本概念队列的模拟实现循环队列双端队列集合框架中的队列队列的创建队列的方法队列…...
工具使用:nrm使用以及n模块
nrm nrm 是一个npm(Node Package Manager)的源管理器,它允许用户轻松地在不同的npm源之间进行切换。在Node.js的生态系统中,nrm 提供了一种方便的方式来管理registry源,这对于那些需要从不同的npm源下载或发布包的开发…...
匿名管道+进程池+命名管道
mkfifo name_pipe 创建管道文件。 命名管道: 路径文件名具有唯一性。 匿名管道: 进程池代码: #include<iostream> #include<unistd.h> #include<cstdlib> #include<cassert> #include<vector> #include&…...
【深度学习】【语音TTS】OpenVoice: Versatile Instant Voice Cloning,论文
https://github.com/myshell-ai/OpenVoice https://arxiv.org/abs/2312.01479 文章目录 摘要1 引言2 方法2.1 直观思路2.2 模型结构2.3 训练细节3 结果4 结论摘要 我们介绍了OpenVoice,一种多功能的即时语音克隆方法,只需参考说话者的短音频片段即可复制其声音,并生成多语…...
一六零、云服务器开发机配置zsh
切换shell 在Linux中默认使用/bin/bash,在用户创建时,会自动给用户创建用户默认的shell。默认的shell就是/bin/bash。要修改shell将其设置为/bin/ksh,有两种方法方法 # 方法一: chsh -s /bin/ksh chsh -s /bin/zsh # 方法二: usermod -s /b…...
[ZJCTF 2019]NiZhuanSiWei1
打开题目 php代码审计 .从代码中可以看出要求,以get方式传递text,file,password三个参数。 3.第一层验证if(isset($text)&&(file_get_contents($text,r)"welcome to the zjctf")) 传入text,而且file_get_contents($text,r)之后内容…...
【网络安全】副业兼职日入12k,网安人不接私活就太可惜了!
暑假来了,很多同学后台私信我求做兼职的路子,这里,我整理了一份详细攻略,请大家务必查收,这可能会帮你把几个学期的生活费都赚够! Up刚工作就开始做挖漏洞兼职,最高一次赚了12k,后面…...
[STM32]HAL库实现自己的BootLoader-BootLoader与OTA-STM32CUBEMX
目录 一、前言 二、BootLoader 三、BootLoader的实现 四、APP程序 五、效果展示 六、拓展 一、前言 听到BootLoader大家一定很熟悉,在很多常见的系统中都会存在BootLoader。本文将介绍BootLoader的含义和简易实现,建议大家学习前掌握些原理基础。 …...
鸿萌数据备份服务:中小型企业如何策划及实施云备份方案
天津鸿萌科贸发展有限公司从事数据安全服务二十余年,致力于为各领域客户提供专业的数据安全、数据备份、数据恢复、数据清除等解决方案与服务。 对于中小型企业来说,保护运营数据(客户记录、财务文档和项目文件)的重要性不言而喻…...
x264 编码过程中延迟逻辑分析
编码延迟相关参数 相关参数:在 common.h文件中 frames 结构体中声明关于编码延迟的变量int i_delay; /* Number of frames buffered for B reordering */ int i_bframe_delay; int64_t i_bframe_delay_time;编码延迟计算 编码延迟计算:在x264_encoder_open函数和x264_…...
前端框架 element-plus 发布 2.7.8
更新日志 功能 组件 [级联选择器 (cascader)] 添加持久化属性以提升性能 (#17526 by 0song)[日期选择器 (date-picker)] 类型添加月份参数 (#17342 by Panzer-Jack)[级联选择器 (cascader)] 添加标签效果属性 (#17443 by ntnyq)[加载 (loading)] 补充加载属性 (#17174 by zhixi…...
2024.8.1(前端服务器的配置以及tomcat环境的配置)
回顾 [roottomcat ~]# cd eleme_web/public/img/ [roottomcat img]# ls 1.jpg [roottomcat public]# cd [roottomcat ~]# cd eleme_web/ [roottomcat eleme_web]# cd src [roottomcat src]# vim views/HomeView.vue [roottomcat src]# nohup npm run serve ctrlc后网页不出…...
使用 宝塔面板 部署 语料库php网站
【语料库网站】宝塔面板 在线部署全过程 代码仓库:https://github.com/talmudmaster/RedCorpus 网站介绍 语料库提供双语文本检索和分享功能。供英语、翻译相关专业的爱好者,学生和老师学习使用。 该网站是对BiCorpus开源项目的二次开发。 技术栈&am…...
springboot农产品报价系统-计算机毕业设计源码37300
摘 要 本研究基于鸿蒙系统,设计开发了一款农产品报价系统小程序,旨在帮助商家与买家更便捷、高效地进行交易。该系统利用鸿蒙系统的优势,实现了跨平台应用程序的开发,同时利用定位技术和数据采集技术,为用户提供了个性…...
食源送系统项目的测试
一、对整个系统编写测试用例 功能测试 性能测试 兼容性测试 易用性测试 安全测试 二、接口测试 针对接口的功能测试,也就是检验接口是否按照接口文档输入输出 2.1 使用Postman发送HTTP请求 2.2 使用Java TestNG 编写自动化测试用例 登录界面功能 package com.sky.…...
JS解构赋值
可以将数组中的值或对象的属性取出,赋值给其他变量。 例如 Let [a, …b] [1, 2, 3]; // a 1, b [2, 3]; let {a, b, …rest} {a : 10, b : 20, c : 30, d : 40}; // a 10, b 20, rest {c : 30, d : 40};...
多多OJ评测系统 前端项目环境初始化 安装Vue脚手架 引入Arco Design组件
目录 确定环境 命令行输入 装一下脚手架 监测一下是否安装成功 创建一个项目 选择一系列的配置后 我们打开webStorm 配置脚手架后我们先运行 我们这边能获取到网址 其实我们脚手架已经帮我们做到了 接下来要引入相关的组件 选择用npm进行安装 我们建议的是完整引入…...
从“能用”到“可靠”:基于SonarQube与Jenkins的Java代码质量防线构建实战
当测试覆盖率不再只是一串数字,而是合并代码前的“一票否决权” 1. 为什么你的“质量门禁”只是个摆设? 在很多团队的CI/CD流水线中,SonarQube的集成往往停留在“能跑就行”的阶段。流水线里确实有代码扫描这一步,日志里也打印出…...
3步掌握NBTExplorer:从Minecraft数据恐惧到编辑专家的完整指南
3步掌握NBTExplorer:从Minecraft数据恐惧到编辑专家的完整指南 【免费下载链接】NBTExplorer A graphical NBT editor for all Minecraft NBT data sources 项目地址: https://gitcode.com/gh_mirrors/nb/NBTExplorer 你是否曾经面对Minecraft的level.dat文件…...
【2025最新】基于SpringBoot+Vue的夕阳红公寓管理系统管理系统源码+MyBatis+MySQL
💡实话实说:有自己的项目库存,不需要找别人拿货再加价,所以能给到超低价格。摘要 随着人口老龄化趋势加剧,养老服务需求日益增长,传统的养老机构管理模式已难以满足高效、智能化的运营需求。夕阳红公寓管理…...
FinalShell不止是SSH客户端:挖掘它的云端同步、命令补全和服务器管理隐藏功能
FinalShell进阶指南:解锁云端同步、智能补全与高效运维的隐藏技巧 如果你已经用FinalShell完成了基础的SSH连接操作,那么是时候探索这个工具更强大的另一面了。作为一款被低估的一体化运维工具,FinalShell在高效命令操作、多设备协同和服务器…...
黑莓印相≠复古滤镜!基于CIE Lab色域分析的Midjourney色彩空间偏移校准方案(附Python验证脚本)
更多请点击: https://intelliparadigm.com 第一章:黑莓印相≠复古滤镜!基于CIE Lab色域分析的Midjourney色彩空间偏移校准方案(附Python验证脚本) 黑莓印相(Blackberry Print Tone)常被误认为是…...
DeepSeek Mesh可观测性体系构建:1个Prometheus+3类自定义指标+7类黄金信号告警模板(附YAML源码)
更多请点击: https://intelliparadigm.com 第一章:DeepSeek Mesh可观测性体系全景概览 DeepSeek Mesh 是面向大规模 AI 模型推理服务的云原生服务网格,其可观测性体系并非简单叠加监控指标,而是围绕模型生命周期、推理链路与资源…...
基于Agent-Next框架的Polymarket模拟交易机器人构建指南
1. 项目概述与核心价值最近在逛GitHub的时候,发现了一个挺有意思的项目,叫agent-next/polymarket-paper-trader。光看这个名字,可能很多朋友会有点懵,这到底是个啥?简单来说,这是一个基于agent-next框架&am…...
Excel高效使用技巧(十五):终极技巧汇总:高级玩家必备的邪修操作
“Excel的终极奥义,不是你会多少公式,而是你知道多少’不该用Excel’的时刻,以及如何优雅地让Excel和其他工具联动。” —— 卡兹克 前言:你的Excel到达哪个段位? 经过十四篇文章的洗礼,你现在应该已经掌握了: 数据清洗:Power Query玩得飞起 数据分析:透视表+DAX不在…...
德国工业4.0工程师指南:从系统融合到职业发展
1. 项目概述:为什么德国是工业工程师的理想目的地?如果你是一名工业、自动化或机器人领域的工程师,正在寻找一个能将你的技术抱负与前沿产业实践深度结合的职业舞台,那么德国很可能就是你一直在寻找的答案。这不仅仅是因为德国拥有…...
2025届学术党必备的六大AI辅助论文神器解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 该AI开题报告工具,针对硕博研究生,针对本科毕业论文创作者࿰…...
