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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QML. Вывод в Behavior'e анимированных примитивов.  (Прочитано 4879 раз)
DiamondRain
Гость
« : Декабрь 21, 2010, 18:18 »

Нужно в Behavior'е выводить прямоугольники примерно так:

Код:
Behavior on myProperty {
    Repeater {
        model: 5
        Rectangle {
            id: rect
            width: 33
            height: 60
            x: 100
            y: 200
            color: "black"
            smooth: true
            NumberAnimation on x {
                to: 500
                duration: 300
            }

            NumberAnimation on y {
                to: 100 * index
                duration: 300
            }

            transform: Rotation {
                origin.x: rect.width / 2
                origin.y: rect.height / 2
                axis { x: 0; y: 0; z: 1 }
                NumberAnimation on angle {
                    from: 1
                    to: 360
                    duration: 300
                    loops: 1
                }
            }
        }
    }
}

Я полагаю, нужно использовать NumberAnimation, ParallelAnimation...

Еще я подумал, может применить Connection {} ?
« Последнее редактирование: Декабрь 21, 2010, 18:21 от DiamondRain » Записан
twp
Гость
« Ответ #1 : Декабрь 21, 2010, 18:48 »

Нужно в Behavior'е выводить прямоугольники примерно так:

Код:
Behavior on myProperty {
    Repeater {
        model: 5
        Rectangle {
            id: rect
            width: 33
            height: 60
            x: 100
            y: 200
            color: "black"
            smooth: true
            NumberAnimation on x {
                to: 500
                duration: 300
            }

            NumberAnimation on y {
                to: 100 * index
                duration: 300
            }

            transform: Rotation {
                origin.x: rect.width / 2
                origin.y: rect.height / 2
                axis { x: 0; y: 0; z: 1 }
                NumberAnimation on angle {
                    from: 1
                    to: 360
                    duration: 300
                    loops: 1
                }
            }
        }
    }
}

Я полагаю, нужно использовать NumberAnimation, ParallelAnimation...

Еще я подумал, может применить Connection {} ?
вообще-то Behavior предназначен для указания анимации по умолчанию для какого-либо свойства, но никак не для вывода в нем графики. Вот например отрывок из асистента:
Код:
 Rectangle {
     id: rect
     width: 100; height: 100
     color: "red"

     Behavior on width {
         NumberAnimation { duration: 1000 }
     }

     MouseArea {
         anchors.fill: parent
         onClicked: rect.width = 50
     }
 }
Записан
DiamondRain
Гость
« Ответ #2 : Декабрь 21, 2010, 18:52 »

да, это я видел. тогда что мне может помочь?
Записан
twp
Гость
« Ответ #3 : Декабрь 21, 2010, 19:12 »

прямоугольники можно выводить на каком либо графическом объекте, хотя бы на том же прямоугольнике. Вообще есть примеры в Qt\demos\declarative\ и Qt\examples\declarative\ которые желательно посмотреть
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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