Qt QScrollArea-如何启用触摸交互以滚动到下一项?

Qt QScrollArea-如何启用触摸交互以滚动到下一项?,qt,symbian,Qt,Symbian,我正在使用诺基亚Qt SDK,并在顶部区域设计了一个小型横幅转盘。看起来是这样的: 层次结构如下所示: 在emulator中安装了这个之后,我尝试使它可以滚动(抛出)。我想这是一个简单的任务(比如Android中的ScrollView,或者iOS中的UIScrollView),但到目前为止还没有什么乐趣。互联网上的所有链接都指向我自定义滚动实现等。我不想也不希望像Qt那样做,这应该是一个更高级别的框架吗?这里的技术水平如何?;-) 简言之,问题是:我如何使这个QScrollArea响应触摸(

我正在使用诺基亚Qt SDK,并在顶部区域设计了一个小型横幅转盘。看起来是这样的:

层次结构如下所示:

在emulator中安装了这个之后,我尝试使它可以滚动(抛出)。我想这是一个简单的任务(比如Android中的
ScrollView
,或者iOS中的
UIScrollView
),但到目前为止还没有什么乐趣。互联网上的所有链接都指向我自定义滚动实现等。我不想也不希望像Qt那样做,这应该是一个更高级别的框架吗?这里的技术水平如何?;-)


简言之,问题是:我如何使这个
QScrollArea
响应触摸(投掷、滚动、拖动等)事件并显示队列中的其他小部件?我不希望它能够“捕捉”到子部件(这是后面的另一个要求)。

您尝试过启用手势吗?我还没有使用手势支持,但看起来很简单

scrollEvents->grabGesture(Qt::SwipeGesture);
// or...
scrollEvents->grabGesture(Qt::PanGesture);
我不知道QScrollArea是否已经处理手势,因此如果这不起作用,您可能需要将QScrollArea子类化,并重写
事件
方法来处理手势事件,如中所述。

查看Flickable(at)和FlickCharm(从第一个地址链接到)要么自己想一想如何实现它,要么就照原样使用它


请注意,如果您的目标是Maemo,则可能不需要这样做,因为它的Qt端口处理它。

这是针对Qt 4.7的吗?由于下载了诺基亚Qt SDK,我必须使用Qt 4.6,对吗?至少没有下载4.7的选项。(SDK安装程序坏了,网站下载只提供捆绑4.6)好的,我看到了;s也可以在4.6文档中找到,将尝试一下,thx!是的,试过了,但没有乐趣。整个故事似乎很复杂。当一些人实施定制触摸/投掷等响应时,我感到非常震惊。我希望找到一些更完善的解决方案。我现在发现QFingerScrollArea:QScrollArea直接支持触摸交互(至少在较新的QT中)。虽然我还没有弄清楚,在哪些情况下(在我的项目中有两个基于QabStretchScrollArea的控件。一个控件在触摸时滚动,另一个不滚动)。如果答案得到更新,那就太好了。我想这是一个新的链接:@frozenkoi为什么不编辑这个问题来添加正确的链接?你能添加一个如何使用它的示例吗?请不要只发布链接答案。