2016-08-20 1 views
1

У меня есть серый прямоугольник с непрозрачностью 90%, и я пытаюсь изменить эту непрозрачность с помощью анимации. Я попытался использовать OpacityAnimator, но, как говорится в документации, Значение Item :: opacity обновляется после завершения анимации.Создайте анимацию непрозрачности в QML

Это не то, что я ожидал, хочу уменьшить непрозрачность во время анимации, вместо того, чтобы мгновенно менять ее с 90 на 0 через 2 секунды.

Вот что у меня есть:

ApplicationWindow { 
    visible: true 
    width: 640 
    height: 480 
    title: qsTr("title") 
    Rectangle{ 
     width: parent.width 
     height: parent.height 
     opacity: 90 
     color: "gray" 
     id: recLoading 
     Text { 
      id: txtLoading 
      text: qsTr("Loading") 
      font.bold: true 
     } 

     OpacityAnimator on opacity{ 
      from: 90 
      to:0 
      duration:2000 
      target: parent 
      running:true 
     } 

    } 
} 

ответ

3

Попробуйте изменить значения непрозрачности до значений в диапазоне между 0 и 1, т.е.

... 
Rectangle{ 
    width: parent.width 
    height: parent.height 
    opacity: 0.9 
    ... 

OpacityAnimator on opacity{ 
    from: 0.9 
    to: 0.0 
    duration:2000 
    target: parent 
    running:true 
} 
+0

О, я думал, что это было от 0 до 100! Теперь он работает! Спасибо –