Qt之使用QTreeView实现QQ好友列表
Posted 草上爬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt之使用QTreeView实现QQ好友列表相关的知识,希望对你有一定的参考价值。
一.效果
从效果图中可以看出,有以下特点:
1.悬浮滚动条
自定义半透明滚动条悬浮在Item之上,与原挤占Item宽度的滚动条效果相同
2.鼠标点击
双击Item,打开聊天对话框
单机视频通话图标,开启视频通话
3.鼠标hover
鼠标移动到头像、昵称、个性签名等区域时有ToolTip提示
4.支持多个分组
各个分组下有多个好友,其中分组为一级节点,分组下的好友为二级节点
二.原理
Model-View-Controller(MVC), 是从Smalltalk发展而来的一种设计模式,常被用于构建用户界面。在MVC中,模型负责获取需要显示的数据,并且存储这些数据的修改。每种数据类型都有它自己对应的模型,但是这些模型提供一个相同的API,用于隐藏内部实现。视图用于将模型数据显示给用户。对于数量很大的数据,或许只显示一小部分,这样就能很好的提高性能。控制器是模型和视图之间的媒介,将用户的动作解析成对数据的操作,比如查找数据或者修改数据,然后转发给模型执行,最后再将模型中需要被显示的数据直接转发给视图进行显示。MVC的核心思想是分层,不同的层应用不同的功能。
Qt 4 开始,引入了类似的model/view架构来处理数据和显示之间的关系。当MVC的V和C结合在一起,我们就得到了model/view 构。这种架构依然将数据和界面分离,但是框架更为简单。同样,这种架构也允许使用不同界面显示同一数据,也能够在不改变数据的情
以上是关于Qt之使用QTreeView实现QQ好友列表的主要内容,如果未能解决你的问题,请参考以下文章