Qt Swipe Gesture не работает

Я пытаюсь включить жест смахивания в моем виджете, но, к сожалению, он не работает.
Я следовал документации и примерам, предоставленным Qt.

Вот часть моего кода:

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
}

Что-то не так? Я что-то забыл?

Я новичок в Qt, а также новичок в C ++, поэтому буду очень признателен за вашу помощь.

Спасибо вам большое!

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]