Spec-Zone.ru › Qt 6.0

Тип поведения QML

Определяет анимацию по умолчанию для изменения свойства. Подробнее...

Заявление импорта: import QtQuick 2.0
  • Список всех членов, включая унаследованные

Свойства

  • 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.0/qml-qtquick-behavior.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API