Название: Эмуляция жеста swipe. Инерционная прокрутка. Отправлено: xintrea от Ноябрь 03, 2014, 23:10 Итак, по материалам этой темы (http://www.prog.org.ru/topic_27877_0.html), в которой я разговаривал сам с собой, мы выяснили, что с жестом Swipe в Qt все очень плохо. В прошлый новый год мне задарили планшет, и первое с чем я столкнулся - это баги с жестами в Qt. Прошел почти год. Что-то изменилось? Нет.
Я уже морально готов писать самодельный распознаватель жестов из QMouseEvent (события мышки на реальном Андроид-железе отлавливаются нормально). Перед тем, как я начну хардкорить, я хотел бы узнать две вещи: 1. Возможно уже есть какие-то наработки по ручному распознаванию жестов. Дайте ссылку если таковые знаете. Интересует жест Swipe. 2. Нигде не могу найти пример инерционной прокрутки. Хочу ее прикрутить к QTableView, QTreeView, QListView. Есть ли готовые решения? Или нужно тоже хардкорить? Есть ли рабочий пример? Название: Re: Эмуляция жеста swipe. Инерционная прокрутка. Отправлено: vregess от Ноябрь 04, 2014, 08:03 1. Возможно уже есть какие-то наработки по ручному распознаванию жестов. Дайте ссылку если таковые знаете. Интересует жест Swipe. Посмотри QSwipeGesture, QPinchGesture.2. Нигде не могу найти пример инерционной прокрутки. Хочу ее прикрутить к QTableView, QTreeView, QListView. Есть ли готовые решения? Или нужно тоже хардкорить? Есть ли рабочий пример? Для QML есть Flickable, а для виджетов придется найти flickcharm. Вот тут есть: http://blog.qt.digia.com/blog/2008/11/15/flick-list-or-kinetic-scrolling/ (http://blog.qt.digia.com/blog/2008/11/15/flick-list-or-kinetic-scrolling/)Название: Re: Эмуляция жеста swipe. Инерционная прокрутка. Отправлено: twp от Ноябрь 14, 2014, 23:45 2. Нигде не могу найти пример инерционной прокрутки. Хочу ее прикрутить к QTableView, QTreeView, QListView. Есть ли готовые решения? Или нужно тоже хардкорить? Есть ли рабочий пример? В Qt5 есть класс QScroller. Юзать его достаточно легко. Чтоб прикрутить к наследнику QAbstractItemView надо задействовать его viewport(): Код Ну еще полезно убрать скроллбар, а также установить попиксельный режим прокрутки: Код
|