Название: Обработка событий касаний сенсорного экрана в GraphicsView Отправлено: Fregloin от Мая 04, 2012, 10:46 Кто подскажет, как корректно отлавливать и обрабатывать события касаний сенсорного экрана на сцене GraphicsView?
Есть сцена, на ней куча элементов, (как виджеты-кнопки, так и самописные сложные элементы). Есть 42 дюймовый сенсорный промышленный экран с usb выходом. Работает как в винде так и линуксе. опознается как устройство ввода, но работает как обычная мышь. Причем в винде если задержать палец, выскакивает контекстное меню, а в линуксе никакой реакции. Программа работает с мышью, а теперь заказчик хочет что бы еще поддерживала сенсоры. Почитал про QTouchEvent, но так и не понял как его отловить на сцене. Название: Re: Обработка событий касаний сенсорного экрана в GraphicsView Отправлено: V1KT0P от Мая 04, 2012, 13:38 Кто подскажет, как корректно отлавливать и обрабатывать события касаний сенсорного экрана на сцене GraphicsView? Не работал но думаю примерно так:Есть сцена, на ней куча элементов, (как виджеты-кнопки, так и самописные сложные элементы). Есть 42 дюймовый сенсорный промышленный экран с usb выходом. Работает как в винде так и линуксе. опознается как устройство ввода, но работает как обычная мышь. Причем в винде если задержать палец, выскакивает контекстное меню, а в линуксе никакой реакции. Программа работает с мышью, а теперь заказчик хочет что бы еще поддерживала сенсоры. Почитал про QTouchEvent, но так и не понял как его отловить на сцене. Наследуйся и переопредели QGraphicsView::event(QEvent *event). Внутри сравнивай QEvent::type() с QEvent::TouchBegin, QEvent::TouchUpdate или QEvent::TouchEnd. Если совпало то статик_кастом приводи event к типу QTouchEvent. И дальше передавай это все в свою функцию. Название: Re: Обработка событий касаний сенсорного экрана в GraphicsView Отправлено: Bepec от Мая 04, 2012, 13:49 Если у вас панельный компьютер(как правило промышленный), то все тачи обрабатываются как нажатия мышкой... Проблем вроде не вижу, но могу и ошибаться в вашем, конкретном, случае.
Название: Re: Обработка событий касаний сенсорного экрана в GraphicsView Отправлено: bra1ss от Мая 05, 2012, 08:25 а как быть с мультитачем?
Название: Re: Обработка событий касаний сенсорного экрана в GraphicsView Отправлено: Bepec от Мая 05, 2012, 08:31 Промышленные мультитач не поддерживают. Во всяком случае продукция Advantech.
Название: Re: Обработка событий касаний сенсорного экрана в GraphicsView Отправлено: Fregloin от Мая 10, 2012, 19:36 у нас мониторы фирмы Elo touch - действительно они обрабабатываются как мышь. но к сожалению в линуксе в xfce я не знаю как сэмулировать нажатие правой кнопки для вызова контекстного меню. боюсь придётся делать костыли...
Название: Re: Обработка событий касаний сенсорного экрана в GraphicsView Отправлено: Bepec от Мая 11, 2012, 00:01 Ну костыли в любом случае придётся делать. Сам работаю с промышленными панельниками - имитация правой кнопки мышки и только. Как вариант сделай как в тотал коммандере.
Нажатие => таймер => больше скольки-то => вызов контекстного. |