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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] onCLicked + PropertyAnimation  (Прочитано 2344 раз)
OKTA
Гость
« : Октябрь 02, 2012, 09:54 »

Товарищи! Доброго дня Вам!
ПОдскажите, хочу в один onClicked в MouseArea впихнуть PropertyAnimation и изменение property родителя, а собака ругается! Что не так? А точнее, как такое лучше обойти?)) Код примерно такой:

Код:
Item {
    id: rectangle1
    property bool locked: false
  

    Image {
        id: name

        source: "../content/pics/lockBody.png"

        MouseArea{
            anchors.fill: parent
            onClicked: {
                //

                PropertyAnimation {
                         target: name;
                         property: "rotation";
                         from: 0;
                         to: 45;
                         duration: 300;
                         easing.type: Easing.Linear
                }

                locked = !locked
            }

        }
    }  
    
}
« Последнее редактирование: Октябрь 02, 2012, 14:17 от OKTA » Записан
mutineer
Гость
« Ответ #1 : Октябрь 02, 2012, 10:04 »

Не так сама идея. onClicked - это джаваскрипный метод, и записывать в него QML элементы нельзя, в нем должен быть код. Создай анимацию вне метода, а внутри просто запусти
Записан
OKTA
Гость
« Ответ #2 : Октябрь 02, 2012, 10:25 »

Да, точно! Разобрался! Спасибо! Вот пример, если кто тоже сразу не найдет)

Код:
 Rectangle {
     id: flashingblob
     width: 75; height: 75
     color: "blue"
     opacity: 1.0

     MouseArea {
         anchors.fill: parent
         onClicked: {
             animateColor.start()
             animateOpacity.start()
         }
     }

     PropertyAnimation {id: animateColor; target: flashingblob; properties: "color"; to: "green"; duration: 100}

     NumberAnimation {
         id: animateOpacity
         target: flashingblob
         properties: "opacity"
         from: 0.99
         to: 1.0
         loops: Animation.Infinite
         easing {type: Easing.OutBack; overshoot: 500}
    }
 }
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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