两个手指移动平滑和动态滚动与触控板或触摸板?

时间:2014-05-15 06:37:27

标签: c++ qt qt4

我正在开发一个类似于Mac的十六进制编辑器的Qt应用程序。 (图片来自谷歌) enter image description here

它有很大一部分数据可以垂直滚动(向上和向下),因为它以十六进制格式显示所有大型文件数据。

在我的应用程序中,我想在两个方向上添加两个手指平滑滚动:像Macbook Air中两个手指滚动一样向上和向下滚动。 它可以用鼠标滚轮正常工作,但不能用轨迹板两个手指移动滚动。

如果有人有解决方案,请帮帮我。提前谢谢。

1 个答案:

答案 0 :(得分:1)

滚动条允许点击和拖动等手势进行动态滚动。

http://qt-project.org/doc/qt-5/qscroller.html#details

关于此页面的注意事项:

QScroller::TouchGesture 0 
The gesture recognizer will only trigger on touch events. Specifically it will react on single touch points when using a touch screen and dual touch points when using a touchpad.

那么他们给出的例子就会变成这样:

QWidget *w = ...;
QScroller::grabGesture(w, QScroller::TouchGesture);

通过处理QTouchEvent,可以通过触摸屏和触摸板做更多新事物:

http://qt-project.org/doc/qt-5/qtouchevent.html#details

希望有所帮助。