Russian Qt Forum

Qt => Qt Quick => Тема начата: Sasha от Апрель 18, 2012, 14:04



Название: Как избавиться от зацикливания связанности
Отправлено: Sasha от Апрель 18, 2012, 14:04
У меня есть ListView и скролинг. Я хочу чтобы при перемещении контекста списка, автоматически менялась позиция в скролинге, а при изменении позиции скролинга перемещался контекст списка.
Я сделал так:
Код:
ListView
{
  id: listView
  contentY:scroll.value
  ...
}
ScrollBar
{
   id: scroll
   value:listView.contentY
   ...
}
Вроде бы получилось, но испортилось перемещение контекста (когда я за него двигаю, он перемещается без "резиновой" анимации) и кроме того стало появлятся сообщение QML : Binding loop detected for property "value"

Как с этим бороться?


Название: Re: Как избавиться от зацикливания связанности
Отправлено: twp от Апрель 18, 2012, 18:05
а что, использование  свойства flickableItem ScrollBar не дает нужный результат?


Название: Re: Как избавиться от зацикливания связанности
Отправлено: Sasha от Апрель 18, 2012, 18:37
а что, использование  свойства flickableItem ScrollBar не дает нужный результат?
Что-то не пойму, что это. Где об этом написано?

А, вроде нашёл в http://doc.trolltech.com/qt-components-symbian-1.0/qml-scrollbar.html
Только такой код у меня не работает. Это, я так понимаю, нужно компоненты специальные скачать и установить?


Название: Re: Как избавиться от зацикливания связанности
Отправлено: twp от Апрель 18, 2012, 18:45
ну вот пример из ассистента:
Цитата: Assistant
ScrollBar Usage

The code snippet below illustrates how to attach a ScrollBar to a ListView.

 Item {
     x: 10
     width: 400
     anchors.top: parent.top
     anchors.bottom: parent.bottom

     ListView {
         id: list
         anchors.fill: parent
         ...
     }

     ScrollBar {
         flickableItem: list
         anchors { right: list.right; top: list.top }
     }
 }
Взято из описания QML ScrollBar Element


Название: Re: Как избавиться от зацикливания связанности
Отправлено: Sasha от Апрель 18, 2012, 18:54
ну вот пример из ассистента:
...

А qt какой?
У меня 4.8.0