2014-05-15 2 views
0

QScroller와 QScrollBar간에 충돌이 있습니다. 그래서 나는 수직 스크롤바가있는 QScrollArea를 가지고있다. 또한 왼쪽 클릭 버튼으로 운동 스크롤을 할 수있는 QScroller를 활성화합니다. 하지만 스크롤바를 더 이상 사용할 수 없습니다. 한번 잡으면 QScroller가 인수하기 시작합니다. 나는 갈등을 풀기가 할 수있는 방법QScroller와 QScrollBar 간의 충돌이 발생했습니다.

QScroller::grabGesture(mArea, QScroller::LeftMouseButtonGesture) ; 

어떤 생각 : 이 내가 QScroller를 추가하는 방법입니다?

답변

-1

해결책이 있습니다. QScrollBar의 enterEvent 및 leaveEvent를 재정의하고 QScroller :: ungrabGesture() QScroller :: grabGesture()를 사용하여 QScroller를 비활성화하고 활성화하십시오. 이제 제대로 작동합니다. 게다가, 이벤트 필터도 작업을 수행 할 수 있습니다.

1

동일한 문제가있었습니다. grabGesture를 전체 위젯 대신 QScrollArea의 뷰포트에 적용하면 피할 수 있습니다.

QScroller::grabGesture(mArea->viewport(), QScroller::LeftMouseButtonGesture) ; 
관련 문제