I'v a custom Widget class and try to scroll with a gesture:
MyWidget
::MyWidget(QWidget *parent
) :
grabGesture(Qt::SwipeGesture);
}
bool MyWidget
::event ( QEvent * event
) { if (event
->type
() == QEvent::Gesture) return gestureEvent(static_cast<QGestureEvent*>(event));
}
bool MyWidget::gestureEvent ( QGestureEvent * event ) {
if (QGesture *swipe = event->gesture(Qt::SwipeGesture)) {
QSwipeGesture * swipeGesture = static_cast<QSwipeGesture *>(swipe);
int scrollFactor = 10;
if(swipeGesture->verticalDirection() == QSwipeGesture::Down)
scrollFactor = -scrollFactor;
if(swipeGesture->state() == Qt::GestureUpdated)
scroll(0, scrollFactor);
}
return true;
}
MyWidget::MyWidget(QWidget *parent) :
QWidget(parent) {
grabGesture(Qt::SwipeGesture);
}
bool MyWidget::event ( QEvent * event ) {
if (event->type() == QEvent::Gesture)
return gestureEvent(static_cast<QGestureEvent*>(event));
return QWidget::event(event);
}
bool MyWidget::gestureEvent ( QGestureEvent * event ) {
if (QGesture *swipe = event->gesture(Qt::SwipeGesture)) {
QSwipeGesture * swipeGesture = static_cast<QSwipeGesture *>(swipe);
int scrollFactor = 10;
if(swipeGesture->verticalDirection() == QSwipeGesture::Down)
scrollFactor = -scrollFactor;
if(swipeGesture->state() == Qt::GestureUpdated)
scroll(0, scrollFactor);
}
return true;
}
To copy to clipboard, switch view to plain text mode
But I never get a gesture event.
Tried on Windows and on Symbian.
What's gonig on?
Thx!!!
Bookmarks