一.效果
真实效果没白色边框
二.实现
从效果图中可以看出,有以下特点:
1.悬浮滚动条
自定义半透明滚动条悬浮在Item之上,与原挤占Item宽度的滚动条效果相同
2.支持指定最大显示行数
效果图中最大支持显示三行,当删除item到只剩下三行时,滚动条自动消失
3.删除按钮有点击效果
当点击删除按钮时,删除按钮变成红色
4.popup弹窗没用阴影
通常popup弹窗是会有阴影的,如下图所示
去掉阴影的方法是添加Qt::NoDropShadowWindowHint标志
setWindowFlags(Qt::FramelessWindowHint | Qt::Popup | Qt::NoDropShadowWindowHint);
本文基于QListView、QStyledItemDelegate和QStandardItemModel
QStyledItemDelegate用于处理Item绘图和Item事件,源码如下:
QHItemDelegate.h
#ifndef QHITEMDELEGATE_H
#define QHITEMDELEGATE_H
#include <QStyledItemDelegate>
#include <QMetaType>
typed