• 4121阅读
  • 3回复

对于listview, scrollarea这类控件,如何实现手势滑动 [复制链接]

上一主题 下一主题
离线wanjql
 

只看楼主 倒序阅读 楼主  发表于: 2016-01-11
目前只能点击右边的滚动条使其滑动,  
希望能实现,按住列表中的项,然后手往上或往下一拉,列表内容随之滑动。

目前只想到两种方法:
1. 继承QListWidget,重写mouseMoveEvent
2.继承QListWidget,  捕捉SwipeGesture 或QPanGesture

请问还有其他相对简便的方法吗, 主要是怕自己瞎写一大堆,其实只需要一两个属性改动


离线lemonzll

只看该作者 1楼 发表于: 2016-01-11
见过Qt的例子里有个QScroller类可以提供这种效果,不过我没用过,你可以试下

离线wanjql

只看该作者 2楼 发表于: 2016-01-11
回 lemonzll 的帖子
lemonzll:见过Qt的例子里有个QScroller类可以提供这种效果,不过我没用过,你可以试下
(2016-01-11 14:25)

这个确实好用,前后就用了三行代码就实现了, 效果基本和安卓里的Listview差不多了

ui->boardList->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
QScroller *scroller = QScroller::scroller(ui->boardList);
scroller->grabGesture(ui->boardList, QScroller::LeftMouseButtonGesture);
离线lemonzll

只看该作者 3楼 发表于: 2016-01-11
那个grabGesture是静态方法,第二行也不用的
快速回复
限100 字节
 
上一个 下一个