문제

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?

도움이 되었습니까?

해결책 2

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.

다른 팁

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) ; 
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top