2

QScroller と QScrollBar の間に競合が見つかりました。だから私は垂直スクロールバーを持つ QScrollArea を持っています。また、左クリック ボタンでキネティック スクロールを実行できる QScroller をアクティブにします。しかし、スクロールバーのハンドルをつかむことができなくなりました。それをつかむと、QScroller が引き継ぎ始めるからです。これは、QScroller を追加する方法です。

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

どうすれば紛争を解決できますか?

4

2 に答える 2

6

私は同じ問題を抱えていました。これは、ウィジェット全体ではなく のgrabGestureビューポートに を適用することで回避できます。QScrollArea

QScroller::grabGesture(mArea->viewport(), QScroller::LeftMouseButtonGesture) ; 
于 2016-06-10T15:31:18.497 に答える
-1

私は解決策を得ました。QScrollBar の enterEvent と leaveEvent を再定義し、QScroller::ungrabGesture() QScroller::grabGesture() で内部の QScroller を非アクティブ化およびアクティブ化します。今はうまくいきます。さらに、イベント フィルターもその役割を果たします。

于 2014-05-16T13:14:37.223 に答える