Russian Qt Forum

Qt => Qt Quick => Тема начата: IGHOR от Декабрь 09, 2011, 18:37



Название: QML: Имитация WheelUp и WheelDown в ListView
Отправлено: IGHOR от Декабрь 09, 2011, 18:37
Есть ListView с вертикальным списком.
Нужны две кнопки "Вверх" и "Вниз" которые плавно прокручивают список на 1 или 3 позиции как при прокрутке роликом мышки.
Не могу найти методов с текстом wheel..
Как это реализовать програмно?

PS: сейчас делаю через listView.currentIndex=index.. но это извращение с перемещением highlight все портит..


Название: Re: Имитация WhellUp и WhellDown в ListView
Отправлено: GreatSnake от Декабрь 09, 2011, 18:46
Не "whell", а "wheel")
См. QAbstractScrollArea::wheelEvent()

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


Название: Re: Имитация WheelUp и WheelDown в ListView
Отправлено: IGHOR от Декабрь 09, 2011, 18:47
GreatSnake, как раз исправил ошибку..
В Qt знаю как это сделать, речь идет о QML
Все-равно спасибо за ответ :)


Название: Re: Имитация WheelUp и WheelDown в ListView
Отправлено: GreatSnake от Декабрь 09, 2011, 18:52
GreatSnake, как раз исправил ошибку..
В Qt знаю как это сделать, речь идет о QML
Упс, раздел-то я не углядел )


Название: Re: QML: Имитация WheelUp и WheelDown в ListView [Не решено]
Отправлено: Vass от Декабрь 09, 2011, 20:04
ListView::positionViewAtIndex ( int index, PositionMode mode )


Название: Re: QML: Имитация WheelUp и WheelDown в ListView [Не решено]
Отправлено: IGHOR от Декабрь 09, 2011, 20:32
Vass
ListView::positionViewAtIndex ( int index, PositionMode mode )
Спасибо за функцию, не знал об такой.
Но при ее использовании плавного перехода нет..
Как сделать чтобы был плавный переход и чтобы не поломались плавные эффекты от перетаскивания мышкой из Flipable?
Надо чтобы оно работало точно так как при прокрутке роликом мышки, желательно с столкновениями за борт при достижении края списка.


Название: Re: QML: Имитация WheelUp и WheelDown в ListView [Не решено]
Отправлено: Patrin Andrey от Декабрь 12, 2011, 08:35
ListView.highlightMoveDuration ?
Либо же PropertyAnimation, правда я не помню на какое свойство. Но когда-то тестил и получалось заставить крутиться listview по таким http://doc.qt.nokia.com/4.7/qml-propertyanimation.html#easing.type-prop законам.


Название: Re: QML: Имитация WheelUp и WheelDown в ListView [Не решено]
Отправлено: IGHOR от Декабрь 12, 2011, 22:44
Patrin Andrey, PropertyAnimation это хорошо, но думаю оно будет конфликтовать с перетаскиванием мышки.. (или нет?)
ListView.highlightMoveDuration, как раз с этого и сделал костыли..
Видимо придется на костылях ковылять..


Название: Re: QML: Имитация WheelUp и WheelDown в ListView [Не решено]
Отправлено: Patrin Andrey от Декабрь 12, 2011, 23:44
Patrin Andrey, PropertyAnimation это хорошо, но думаю оно будет конфликтовать с перетаскиванием мышки.. (или нет?)
Не знаю. Я не писал на qml для систем где есть мышь.