Пользовательский QGestureRecognizer и QTouchEvents - PullRequest
2 голосов
/ 09 декабря 2011

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

Насколько я понимаю, мне нужно создать подкласс QGestureRecognizer, создать QGesture для виджета, которым я хочу управлять, и реализовать признать () для фильтрации моих QTouchEvents и при необходимости вызвать жест.

Теперь у меня есть два вопроса:

  1. Это правильный способ делать вещи?

  2. Как мне убедиться, что QTouchEvents все еще достигает моего виджета (например, для перетаскивания), когда я уже использую их в своем QGestureRecognizer? Или все взаимодействие с моим виджетом должно быть в форме жестов?

1 Ответ

1 голос
/ 11 декабря 2011

Мой прогресс в этом вопросе до сих пор, если кто-то окажется в подобной ситуации:

1 .: Возможно, это правильный путь, но он не работает.Даже после регистрации моего распознавателя в приложении оно не получает никаких QTouchEvents.Поэтому я установил свой распознаватель как eventFilter для целевого виджета.

2 .: По крайней мере, при использовании eventFilter, можно передать событие исходному получателю.Смотри http://doc.qt.io/qt-5/qobject.html#eventFilter.

...