Qt Swipe Gesture funktioniert nicht
Verfasst: 20. Januar 2016 12:43
Hallo zusammen,
ich versuche Swipe Gestures in meinem Widget einzubauen, allerdings funktioniert dies nicht. Ich arbeite mit Qt 4.8 in Linux mit einem Multi-Touch-Screen.
Dabei bin ich den Beispielen und den Dokumentationen gefolgt, die Qt bereitstellt.
Hier ist ein Teil meines Codes:
Ist an diesem Code etwas falsch? Oder habe ich etwas vergessen? Habt ihr Vorschläge?
Ich bin ein Qt-Neuling und auch ein C++-Anfänger, deshalb würde ich mich sehr über eure Hilfe freuen.
Vielen Dank schon einmal!
ich versuche Swipe Gestures in meinem Widget einzubauen, allerdings funktioniert dies nicht. Ich arbeite mit Qt 4.8 in Linux mit einem Multi-Touch-Screen.
Dabei bin ich den Beispielen und den Dokumentationen gefolgt, die Qt bereitstellt.
Hier ist ein Teil meines Codes:
Code: Alles auswählen
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
grabGesture(Qt::SwipeGesture);
}
bool MainWindow::event(QEvent *event){
if (event->type() == QEvent::Gesture)
return gestureEvent(static_cast<QGestureEvent*>(event));
return QWidget::event(event);
}
bool MainWindow::gestureEvent(QGestureEvent *event){
if (QGesture *swipe = event->gesture(Qt::SwipeGesture))
swipeTriggered(static_cast<QSwipeGesture *>(swipe));
return true;
}
void MainWindow::swipeTriggered(QSwipeGesture *gesture){
if (gesture->state() == Qt::GestureFinished){
if (gesture->verticalDirection() == QSwipeGesture::Up)
goButtomLabel();
if (gesture->verticalDirection() == QSwipeGesture::Down)
goUpperLabel();
update();
}
}
void MainWindow::goButtomLabel(){
// does something here
}
void MainWindow::goUpperLabel(){
// does something here
}Ist an diesem Code etwas falsch? Oder habe ich etwas vergessen? Habt ihr Vorschläge?
Ich bin ein Qt-Neuling und auch ein C++-Anfänger, deshalb würde ich mich sehr über eure Hilfe freuen.
Vielen Dank schon einmal!