在QML

时间:2016-08-20 18:54:45

标签: qt qml qtquick2

我有一个90%不透明度的灰色矩形,我正在尝试使用动画更改此不透明度。我尝试过使用OpacityAnimator但是,正如文档所说,动画完成后,Item :: opacity的值会更新

这不是我的预期,我希望在动画期间降低不透明度,而不是在2秒后立即将其从90改为0。

这就是我所拥有的:

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
        }

    }
}

2 个答案:

答案 0 :(得分:6)

不透明度指定为介于0.0(完全透明)和1.0(完全不透明)之间的数字。

http://doc.qt.io/qt-5/qml-qtquick-item.html#opacity-prop

答案 1 :(得分:4)

尝试将不透明度值更改为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
}