首页| 论坛| 消息

标题:对于listview, scrollarea这类控件,如何实现手势滑动
作者:wanjql
日期:2016-01-11 13:36
内容:

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

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

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


#1 [lemonzll 01-11 14:25]
见过Qt的例子里有个QScroller类可以提供这种效果,不过我没用过,你可以试下
#2 回 lemonzll 的帖子 [wanjql 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);
#3 [lemonzll 01-11 15:42]
那个grabGesture是静态方法,第二行也不用的

回复 发表
主题 版块