【问题标题】:qt conflict between QScroller and QScrollBarQScroller和QScrollBar之间的qt冲突
【发布时间】:2014-07-03 18:13:37
【问题描述】:

我发现 QScroller 和 QScrollBar 之间存在冲突。所以我有一个带有垂直滚动条的 QScrollArea 。我还激活了一个 QScroller,它允许我通过左键单击进行动态滚动。但我不能再抓住滚动条手柄了。因为一旦我抓住它,QScroller 就会开始接管。 这就是我添加 QScroller 的方式:

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

知道如何解决冲突吗?

【问题讨论】:

    标签: c++ qt scrollbar qscrollarea


    【解决方案1】:

    我也遇到了同样的问题。 可以通过将grabGesture 应用于QScrollArea 的视口而不是整个小部件来避免这种情况:

    QScroller::grabGesture(mArea->viewport(), QScroller::LeftMouseButtonGesture) ; 
    

    【讨论】:

      【解决方案2】:

      我有一个解决方案。我重新定义了 QScrollBar 的 enterEvent 和 leaveEvent,使用 QScroller::ungrabGesture() QScroller::grabGesture() 禁用并激活里面的 QScroller。 它现在工作正常。此外,事件过滤器也可以完成这项工作。

      【讨论】:

        猜你喜欢
        • 2012-06-27
        • 2012-03-06
        • 2011-05-02
        • 2012-11-25
        • 2013-10-27
        • 2014-03-02
        • 2016-11-15
        • 2012-11-02
        • 2021-02-22
        相关资源
        最近更新 更多