Reputation: 393
I found a conflict between QScroller and QScrollBar. So I have a QScrollArea with vertical scrollbar. I also activate a QScroller that allows me to do kinetic scrolling with left click button. But I can't grab the scrollbar handle any more. Because once I grab it, QScroller begins to take over. This is how I add the QScroller:
QScroller::grabGesture(mArea, QScroller::LeftMouseButtonGesture) ;
Any idea how can I slove the conflict?
Upvotes: 3
Views: 1323
Reputation: 61
I've had the same issue.
It can be avoided by applying the grabGesture
to the viewport of the QScrollArea
, instead of the whole widget:
QScroller::grabGesture(mArea->viewport(), QScroller::LeftMouseButtonGesture) ;
Upvotes: 6
Reputation: 393
I got a solution. I redefined the enterEvent and leaveEvent of QScrollBar, dis-activate and activate the QScroller inside with QScroller::ungrabGesture() QScroller::grabGesture(). It works fine now. Besides, a event filter can also do the job.
Upvotes: 0