QT中的手指滚动?

use*_*285 2 qt

我已经实现了手指滚动到我的 QListWidget 之一。我参考了 http://www.developer.nokia.com/Community/Wiki/Qt_Kinetic_scrolling_-_from_idea_to_implementation

现在的问题是当我向上和向下滚动我的列表时 QListWidget 的 on_current_row_changed 事件被触发。我如何才能避免在点击时出现这种情况,它应该表现得像点击而不是在滚动上。

svl*_*sov 7

从 Qt5 开始,这很简单:

#include <QScroller>
...
QScroller::grabGesture(myListWidget, QScroller::LeftMouseButtonGesture);
Run Code Online (Sandbox Code Playgroud)

对于触摸屏,请使用TouchGesture代替LeftMouseButtonGesture

如果小部件不继承QAbstractScrollArea(例如QWebView):

QScrollArea *scrollArea = new QScrollArea;
scrollArea->setWidget(myWidget);
QScroller::grabGesture(scrollArea, QScroller::LeftMouseButtonGesture);
Run Code Online (Sandbox Code Playgroud)

请务必将小部件调整为其内容大小。