Russian Qt Forum
Ноябрь 23, 2024, 04:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QML: Имитация WheelUp и WheelDown в ListView  (Прочитано 6843 раз)
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« : Декабрь 09, 2011, 18:37 »

Есть ListView с вертикальным списком.
Нужны две кнопки "Вверх" и "Вниз" которые плавно прокручивают список на 1 или 3 позиции как при прокрутке роликом мышки.
Не могу найти методов с текстом wheel..
Как это реализовать програмно?

PS: сейчас делаю через listView.currentIndex=index.. но это извращение с перемещением highlight все портит..
« Последнее редактирование: Декабрь 12, 2011, 22:44 от IGHOR » Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Декабрь 09, 2011, 18:46 »

Не "whell", а "wheel")
См. QAbstractScrollArea::wheelEvent()

PS: сейчас делаю через listView.currentIndex=index.. но это извращение с перемещением highlight все портит..
Вообще-то вся прокрутка в любом случае будет делаться через QAbstractScrollArea::verticalScrollBar(). Поэтому смотри сигналы QScrollBar.
« Последнее редактирование: Декабрь 09, 2011, 18:51 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #2 : Декабрь 09, 2011, 18:47 »

GreatSnake, как раз исправил ошибку..
В Qt знаю как это сделать, речь идет о QML
Все-равно спасибо за ответ Улыбающийся
« Последнее редактирование: Декабрь 09, 2011, 18:53 от IGHOR » Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Декабрь 09, 2011, 18:52 »

GreatSnake, как раз исправил ошибку..
В Qt знаю как это сделать, речь идет о QML
Упс, раздел-то я не углядел )
Записан

Qt 5.11/4.8.7 (X11/Win)
Vass
Гость
« Ответ #4 : Декабрь 09, 2011, 20:04 »

ListView::positionViewAtIndex ( int index, PositionMode mode )
Записан
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #5 : Декабрь 09, 2011, 20:32 »

Vass
ListView::positionViewAtIndex ( int index, PositionMode mode )
Спасибо за функцию, не знал об такой.
Но при ее использовании плавного перехода нет..
Как сделать чтобы был плавный переход и чтобы не поломались плавные эффекты от перетаскивания мышкой из Flipable?
Надо чтобы оно работало точно так как при прокрутке роликом мышки, желательно с столкновениями за борт при достижении края списка.
Записан
Patrin Andrey
Гость
« Ответ #6 : Декабрь 12, 2011, 08:35 »

ListView.highlightMoveDuration ?
Либо же PropertyAnimation, правда я не помню на какое свойство. Но когда-то тестил и получалось заставить крутиться listview по таким http://doc.qt.nokia.com/4.7/qml-propertyanimation.html#easing.type-prop законам.
Записан
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #7 : Декабрь 12, 2011, 22:44 »

Patrin Andrey, PropertyAnimation это хорошо, но думаю оно будет конфликтовать с перетаскиванием мышки.. (или нет?)
ListView.highlightMoveDuration, как раз с этого и сделал костыли..
Видимо придется на костылях ковылять..
Записан
Patrin Andrey
Гость
« Ответ #8 : Декабрь 12, 2011, 23:44 »

Patrin Andrey, PropertyAnimation это хорошо, но думаю оно будет конфликтовать с перетаскиванием мышки.. (или нет?)
Не знаю. Я не писал на qml для систем где есть мышь.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 22.