摘要: 1.需求描述 QTreeView先插入的排在上面,并支持手动置顶进行排序,取消置顶; 2.实现方案 (1)定义排序角色 给每一个插入的QStandardItem对象设置一个排序角色,我们用插入时间来设置这个值; enum CustomRole { QOrderRole = Qt::UserRole 阅读全文
posted @ 2024-09-14 17:43 一字千金 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 1.需求描述 点击编辑按钮,进入编辑状态,点击确认和取消按钮退出编辑状态 (1) 重写代理createEditor函数 这个函数是代理触发编辑信号后,自动创建编辑界面的widget对象,覆盖在item上;EmptyTreeItem就是我们自定义的编辑控件,包括输入框,确认和取消按钮; QWidget 阅读全文
posted @ 2024-09-14 17:39 一字千金 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 所有的界面显示都交代理去绘制,否则会影响插入性能;一开始打算将类型图标通过QStandardItem创建时传给QStandardItem,在插入到model中,后来发现这样会降低插入的性能; pItem = new QStandardItem(QIcon(":/foldericon.svg"), i 阅读全文
posted @ 2024-09-14 17:30 一字千金 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 1、需求描述 实现组织树搜索,关键字红色显示;搜索规则,名称匹配显示,没有匹配不显示,子节点匹配,父节点即使没有匹配也显示; 2.实现方法 (1)top节点名称匹配关键则显示,否则隐藏 void TreeTaskList::SlotFilterChanged(QString strText) { m 阅读全文
posted @ 2024-09-14 17:28 一字千金 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 1.问题描述 QTreeView层级过多时,横向滚动条有时无法自适应,导致有些item右侧显示不全,无法点击按钮,所以需要实现一个适应函数,在Qtreeview展开,收起节点,或者单击节点时,调用这个函数,让滚动条能够自适应; void TreeTaskList::SlotResizeTreeWid 阅读全文
posted @ 2024-09-14 17:19 一字千金 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 1.需求描述 QStyledItemDelegate实现按钮的点击和响应功能,鼠标移动到按钮上,也会显示tooltip提示信息 2.实现方法 (1)重写editorEvent函数,根据type类型触发不同的响应函数 为了实现按钮的响应,需要重写QStyledItemDelegate 类的editor 阅读全文
posted @ 2024-09-14 16:45 一字千金 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 1.需求描述 代理实现按钮图标状态的绘制 实现方法 (1)重写paint函数,根据type类型绘制案件、文件夹、监控点、视频任务; 为了实现不同的item的样式,需要继承QStyledItemDelegate类型实现TreeTaskDelegate。重写paint函数,根据不同的类型type去绘制不 阅读全文
posted @ 2024-09-14 16:29 一字千金 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 1.需求描述 设备管理组件保存了设备信息和通道信息到sqlite数据库,其他组件也想要访问这个数据库中的内容;需要开发一个自定义插件,用于提供接口给其他组件访问数据库; 开发环境vs2015+Qt5.9.6 2.插件介绍 插件主要面向接口编程,通过接口实现功能的扩展,而不需要访问.lib文件。插件在 阅读全文
posted @ 2024-09-14 12:16 一字千金 阅读(168) 评论(0) 推荐(0) 编辑