Тип QML поведением
Определяет анимацию по умолчанию для изменения свойства. Подробнее...
| Заявление об импорте: | import QtQuick |
Свойства
- animation : Анимация
- enabled : bool
-
targetProperty
- targetProperty.name : строка
- targetProperty.object : Объект
- targetValue : Переменная
Подробное описание
Поведение определяет анимацию по умолчанию, которая применяется при каждом изменении значения определенного свойства.
Например, следующее поведение определяет NumberAnimation, который выполняется всякий раз, когда изменяется значение свойства width объекта Rectangle. При щелчке по MouseArea значение width изменяется, что запускает анимацию поведения:
import QtQuick 2.0
Rectangle {
id: rect
width: 100; height: 100
color: "red"
Behavior on width {
NumberAnimation { duration: 1000 }
}
MouseArea {
anchors.fill: parent
onClicked: rect.width = 50
}
} Обратите внимание, что свойство не может иметь более одного назначенного поведения. Чтобы обеспечить несколько анимаций в рамках поведения, используйте ParallelAnimation или SequentialAnimation.
Если изменение состояния имеет переход с переходом, который соответствует тому же свойству, что и поведение, анимация перехода переопределяет поведение для этого изменения состояния. Для получения общих советов по использованию поведений для анимации изменений состояний см. Использование поведений Qt Quick со состояниями.
См. также Анимация и переходы в Qt Quick, Пример поведения и Qt QML.
Документация по свойствам
[default] animation : Анимация
Это свойство содержит анимацию, которая выполняется при запуске поведения.
enabled : bool
Это свойство указывает, будет ли запускаться поведение при изменении значения отслеживаемого свойства.
Поведение по умолчанию включено.
[только для чтения, начиная с QtQuick 2.15] targetProperty.name : строка
| Свойство | Описание |
|---|---|
| name | Это свойство содержит имя свойства, которое контролируется этим поведением. |
| object | Это свойство содержит объект свойства, которое контролируется этим поведением. |
Это свойство может использоваться для определения пользовательских поведений на основе имени или объекта контролируемого свойства.
Следующий пример определяет поведение, которое делает объект-цель прозрачным и затем делает его непрозрачным при изменении контролируемого им свойства:
// FadeBehavior.qml
import QtQuick 2.15
Behavior {
id: root
property Item fadeTarget: targetProperty.object
SequentialAnimation {
NumberAnimation {
target: root.fadeTarget
property: "opacity"
to: 0
easing.type: Easing.InQuad
}
PropertyAction { } // actually change the controlled property between the 2 other animations
NumberAnimation {
target: root.fadeTarget
property: "opacity"
to: 1
easing.type: Easing.OutQuad
}
}
} Это можно использовать для анимации текста при его изменении:
import QtQuick 2.15
Text {
id: root
property int counter
text: counter
FadeBehavior on text {}
Timer {
running: true
repeat: true
interval: 1000
onTriggered: ++root.counter
}
} Это свойство QML было представлено в QtQuick 2.15.
[начиная с QtQuick 2.13] targetValue : Переменная
Это свойство содержит целевое значение свойства, которое контролируется поведением. Это значение устанавливается поведением до запуска анимации.
Это свойство было представлено в QtQuick 2.13.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtquick-behavior.html