Qt之使用QLisView实现QQ登录历史列表
Posted 草上爬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt之使用QLisView实现QQ登录历史列表相关的知识,希望对你有一定的参考价值。
一.效果
真实效果没白色边框
二.实现
从效果图中可以看出,有以下特点:
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
以上是关于Qt之使用QLisView实现QQ登录历史列表的主要内容,如果未能解决你的问题,请参考以下文章
Fdog系列:使用Qt模仿QQ实现登录界面到主界面,功能篇。