查看完整版本: [-- 对于listview, scrollarea这类控件,如何实现手势滑动 --]

QTCN开发网 -> Qt移动平台开发 -> 对于listview, scrollarea这类控件,如何实现手势滑动 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

wanjql 2016-01-11 13:36

对于listview, scrollarea这类控件,如何实现手势滑动

目前只能点击右边的滚动条使其滑动,  
希望能实现,按住列表中的项,然后手往上或往下一拉,列表内容随之滑动。

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

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



lemonzll 2016-01-11 14:25
见过Qt的例子里有个QScroller类可以提供这种效果,不过我没用过,你可以试下


wanjql 2016-01-11 15:09
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 2016-01-11 15:42
那个grabGesture是静态方法,第二行也不用的


查看完整版本: [-- 对于listview, scrollarea这类控件,如何实现手势滑动 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled