Planned maintenance has been done but it did not solve the problem. So work will continue on this and a new time for trying updates will be announced asap.

Проблема со Swipe в QT5 ...



  • Имею : Linux Mint 19.1 + QT 5.12.3 + Qt Creator 4.8.2 в связке с RPI3B+Сенсорный монитор MPI5009 !
    Вопрос : Как заставить работать Swipe в Qt5 ?
    Пример кода :
    ModelsPanel::ModelsPanel(Ui::JCP _ui, QString _pathToModelsDir, QWidget* _parent) : QWidget(_parent), ui(_ui), pathToModelsDir(_pathToModelsDir) {
    QDir dir(_pathToModelsDir);
    QStringList nameFilter (".");
    QFileInfoList list = dir.entryInfoList(nameFilter, QDir::Files);
    QGridLayout* grid = new QGridLayout(this);

    setAttribute(Qt::WA_AcceptTouchEvents);
    grabGesture(Qt::SwipeGesture);
    
    if (!list.size()) {
    ........... код не имеющий отнощения к swipe ................
    setLayout(grid);
    _ui->modelsGroup->setWidget(this);
    

    };

    bool ModelsPanel::event(QEvent event) {
    qDebug() << event->type();
    if (event->type() == QEvent::Gesture)
    return gestureEvent(static_cast<QGestureEvent
    >(event));
    return QWidget::event(event);
    };

    bool ModelsPanel::gestureEvent(QGestureEvent *event) {
    if (QGesture *swipe = event->gesture(Qt::SwipeGesture))
    swipeTriggered(static_cast<QSwipeGesture *>(swipe));
    return true;
    }

    void ModelsPanel::swipeTriggered(QSwipeGesture *gesture) {

    ............. код метода до обработки которого дело не доходит ...................
    
    update();
    

    }*

    Не понимаю где моя ошибка но перегруженная ModelsPanel::event(QEvent *event) не получает события связанные со Swipe !

    С уважением, Юрий.


Log in to reply