Spec-Zone.ru › Qt

Тип 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

Spec-Zone.ru

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