0

を実装しようとしましたがView、これは一部をレンダリングComponentし、変更元のコンポーネントでフェードアウト/フェードイン アニメーションを再生します。私のコード:

import QtQuick 2.1

Item {
    id: componentViewRoot
    onOpacityChanged: console.log(opacity)
    property Component source: null

        PropertyAnimation {
            id: fadeout
            target: componentViewRoot;
            alwaysRunToEnd: true
            property: "opacity";
            to: 0;
            duration: 1000

        }
        PropertyAnimation {
            id: fadein
            target: componentViewRoot;
            alwaysRunToEnd: true
            property: "opacity";
            to: 1;
            duration: 1000
        }

    onSourceChanged: {
        fadeout.start()
        loader.sourceComponent = source;
    }
    Loader{
        id:loader
        anchors.fill: parent
        onLoaded: fadein.start()
    }
}

しかし、正しく動作しません (アニメーションを再生しません)。私を助けてください。

UDP:深さのないものからViewみたいに使いたいです。StackViewQtQuick.Controls

いくつかのコード:

Rectangle {
    id: mainObjectRoot
    implicitHeight: 440
    implicitWidth:  720
    color: "#f8f8f8"


    ComponentView{
        id: compView
        height: 265
        width: 680
        onXChanged: console.log("compView"+x)
        onYChanged: console.log("compView"+y)
        anchors.right: parent.right
        anchors.rightMargin: 20
        anchors.bottom: parent.bottom
        anchors.bottomMargin: 45
        anchors.top: parent.top
        anchors.topMargin: 130
        anchors.left: parent.left
        anchors.leftMargin: 20
        source: passwordView

    }

    Connections{
        target: sessionManager
        onRequiredPasswordChanged :{
            if(sessionManager.requiredPassword){

                compView.source = passwordView
            }
            else{
                compView.source = mainview
            }
        }
    }

    Component {
        id: passwordView
        PasswordView{

        }
    }
    Component {
        id: helpview
        HelpView{

        }
    }
    Component{
        id: mainview
        MainView{

        }
    }
    Component{
        id: settingsview
        SettingsView{

        }
    }

私のコード例では、compView.source変更時に遷移アニメーションを再生したい

4

1 に答える 1