QT中QGraphicsView中的手指滚动?

Posted

技术标签:

【中文标题】QT中QGraphicsView中的手指滚动?【英文标题】:Finger Scrolling in QGraphicsView in QT? 【发布时间】:2011-11-11 04:52:26 【问题描述】:

我想知道 QgraphicsView 在触摸屏设备的情况下是否默认提供手指滚动,或者我们需要有自己的 kineticscroller 类来实现它。

我想要一个 QListWidget,它会添加一些自定义控件,我正在将该列表添加到场景和场景到图形视图现在我想要手指滚动,图形视图是否默认具有此属性?

【问题讨论】:

【参考方案1】:

Qt 提供了QGesture 类来处理手势事件。您可以从此类继承并创建您想要的任何手势或使用预定义的手势之一,例如QPanGestureQPinchGestureQSwipeGesture

可以为所有QWidgetsQGraphicsScene 启用手势,这可能是您想要移动QGraphicsView 中的项目的方式。请注意,在大多数情况下,您必须明确编写有关如何评估每个手势的代码。

可以为 QWidget 和 QGraphicsObject 的实例启用手势 子类。

有关手势编程的示例,请查看image gestures example。另请查看 Qt 文档的 Gestures Programming 文章。

如果您希望在您的应用程序中支持多点触控,请查看 2009 DevDays 中的this video。您可能还想检查QTouchEvent 类。

【讨论】:

所以你的意思是说默认情况下 QgraphicsView 不提供手指滚动我需要添加 QGesture 来支持它? 没错。手指滚动只不过是按下鼠标移动,所以创建手势并按照您想要的方式处理它

以上是关于QT中QGraphicsView中的手指滚动?的主要内容,如果未能解决你的问题,请参考以下文章

qt获取滚动视图位置

QGraphicsView 适合任何大小的图像,没有滚动条

如何在 QT 中的 QgraphicsView 中保持图像原始

在 Qt 中绘制绘图的最佳方法是啥?

在 QGraphicsView 中移动项目

如何在qt中同时移动滚动条