QT中QGraphicsView中的手指滚动?
Posted
技术标签:
【中文标题】QT中QGraphicsView中的手指滚动?【英文标题】:Finger Scrolling in QGraphicsView in QT? 【发布时间】:2011-11-11 04:52:26 【问题描述】:我想知道 QgraphicsView 在触摸屏设备的情况下是否默认提供手指滚动,或者我们需要有自己的 kineticscroller 类来实现它。
我想要一个 QListWidget,它会添加一些自定义控件,我正在将该列表添加到场景和场景到图形视图现在我想要手指滚动,图形视图是否默认具有此属性?
【问题讨论】:
【参考方案1】:Qt 提供了QGesture
类来处理手势事件。您可以从此类继承并创建您想要的任何手势或使用预定义的手势之一,例如QPanGesture
、QPinchGesture
和QSwipeGesture
。
可以为所有QWidgets
和QGraphicsScene
启用手势,这可能是您想要移动QGraphicsView
中的项目的方式。请注意,在大多数情况下,您必须明确编写有关如何评估每个手势的代码。
可以为 QWidget 和 QGraphicsObject 的实例启用手势 子类。
有关手势编程的示例,请查看image gestures example。另请查看 Qt 文档的 Gestures Programming 文章。
如果您希望在您的应用程序中支持多点触控,请查看 2009 DevDays 中的this video。您可能还想检查QTouchEvent
类。
【讨论】:
所以你的意思是说默认情况下 QgraphicsView 不提供手指滚动我需要添加 QGesture 来支持它? 没错。手指滚动只不过是按下鼠标移动,所以创建手势并按照您想要的方式处理它以上是关于QT中QGraphicsView中的手指滚动?的主要内容,如果未能解决你的问题,请参考以下文章