我发现 QScroller 和 QScrollBar 之间存在冲突。所以我有一个带有垂直滚动条的 QScrollArea 。我还激活了一个 QScroller,它允许我通过左键单击进行动态滚动。但我不能再抓住滚动条手柄了。因为一旦我抓住它,QScroller 就会开始接管。这就是我添加 QScroller 的方式:
QScroller::grabGesture(mArea, QScroller::LeftMouseButtonGesture) ;
知道如何解决冲突吗?
我发现 QScroller 和 QScrollBar 之间存在冲突。所以我有一个带有垂直滚动条的 QScrollArea 。我还激活了一个 QScroller,它允许我通过左键单击进行动态滚动。但我不能再抓住滚动条手柄了。因为一旦我抓住它,QScroller 就会开始接管。这就是我添加 QScroller 的方式:
QScroller::grabGesture(mArea, QScroller::LeftMouseButtonGesture) ;
知道如何解决冲突吗?
我有同样的问题。可以通过将 应用grabGesture
到 的视口QScrollArea
而不是整个小部件来避免这种情况:
QScroller::grabGesture(mArea->viewport(), QScroller::LeftMouseButtonGesture) ;
我有一个解决方案。我重新定义了 QScrollBar 的 enterEvent 和 leaveEvent,使用 QScroller::ungrabGesture() QScroller::grabGesture() 禁用并激活里面的 QScroller。它现在工作正常。此外,事件过滤器也可以完成这项工作。