How to enable gesture in QListView ?
I just make a MyListView class, inheriting QListView. ( from the imageguesture example code.) and enable gesture by adding grabGesture function. here below is my code. But it does not work as expected. besides, there are many debug output,telling me that the painter is not active. Thanks all.
[CODE]
MyListView::MyListView(QWidget *parent) :
QListView(parent)
{
this->grabGesture(Qt::SwipeGesture);
this->grabGesture(Qt::PanGesture);
this->grabGesture(Qt::PinchGesture);
}
bool MyListView::event(QEvent *event)
{
if (event->type() == QEvent::Gesture)
{
qDebug() << "Gesture Event Detected.";
return gestureEvent(static_cast<QGestureEvent*>(event));
}
return QWidget::event(event);
}
bool MyListView::gestureEvent(QGestureEvent *event)
{
if (QGesture *swipe = event->gesture(Qt::SwipeGesture))
{
qDebug() << "SwipGesture Detected.";
swipeTriggered(static_cast<QSwipeGesture *>(swipe));
}
else if (QGesture *pan = event->gesture(Qt::PanGesture))
{
qDebug() << "PanGesture Detected.";
panTriggered(static_cast<QPanGesture *>(pan));
}
/*
else if (QGesture *pinch = event->gesture(Qt::PinchGesture))
pinchTriggered(static_cast<QPinchGesture *>(pinch));
*/
return true;
}
void MyListView::swipeTriggered(QSwipeGesture *gesture)
{
if (gesture->state() == Qt::GestureFinished) {
if (gesture->horizontalDirection() == QSwipeGesture::Left
|| gesture->verticalDirection() == QSwipeGesture::Up)
{
//goPrevImage();
qDebug() << "UP";
this->scroll(10,0);
}
else
{
//goNextImage();
qDebug() << "DOWN";
this->scroll(-10,0);
}
//update();
}
}
void MyListView::panTriggered(QPanGesture *gesture)
{
#ifndef QT_NO_CURSOR
switch (gesture->state()) {
case Qt::GestureStarted:
case Qt::GestureUpdated:
setCursor(Qt::SizeAllCursor);
break;
default:
setCursor(Qt::ArrowCursor);
}
#endif
QPointF delta = gesture->delta();
// horizontalOffset += delta.x();
//verticalOffset += delta.y();
this->scroll(delta.x(),delta.y());
}
[/CODE]
Re: How to enable gesture in QListView ?
And does you platform support touch events?
Re: How to enable gesture in QListView ?
[QUOTE=divanov;835303]And does you platform support touch events?[/QUOTE]
yes, I am running the test on my Nokia E7 (Symbian^3 platform)