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 回答