您的位置:首页 > 编程语言 > Qt开发

记录QTreeView和QListView两个导致界面显示漂移的问题

2016-12-15 08:56 351 查看
问题现象:1. 点击view会有一个当前选中项的显示,在view的显示区域内不滚动点击其他项是正常的,但是将当前选中项滑动出显示区域(显示区域看不到当前选中项)再次点击一个条目会出现这个条目如果是靠上的话直接显示到显示区域的第一项,如果是靠下则直接显示这个条目到显示区域的最下面一项,此为漂移2. 不是手动点击选中项了,而是使用信号等修改listmodel中的数据时导致,由于修改数据的时候需要然后界面实时显示所以调用了
beginInsertRows(QModelIndex(),0,0);
endInsertRows();
界面会刷新显示的数据了,但是这个数据也会漂移到显示区域的第一条数据
以上两种情况数据的相对位置是不会变化的,只是出现漂移了。
解决办法:第一个查明原因是因为在点击的槽函数中显式的调用了listview的setCurrentIndex导致,去掉即可。
第二个原因已说明,修改办法是将之修改为beginResetModel()endResetModel()函数整体刷新即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  QT listview 漂移
相关文章推荐