0

以下の例は、私の問題を示しています。Rectangle左上に小さなアイコンを作成し、クリックすると赤と緑の間で色が切り替わります。

次に、 を作成し、StackViewを にプッシュしRectangleて、StackViewこの 2 番目の Rectangle の色を左上の四角形の色にバインドします。

予想される動作は、色がバインドされているため、左上をクリックするとRectangleの色も変更されることです。残念ながら、そうではありません。RectangleStackView

スタックにプッシュするときに問題なく動作することに注意してstackRect2ください (コメントの行を参照)

import QtQuick 2.0
import QtQuick.Window 2.2
import QtQuick.Controls 1.4

Window {
    id: mainWindow
    visible: true
    width: 1280
    height: 720

    Rectangle {
        id: rect
        width: 100
        height: 100
        focus: true

        color: toggle? "red":"green"
        property var toggle:false;
        MouseArea {
            anchors.fill: parent
            onClicked: rect.toggle = !rect.toggle
        }
    }

    StackView {
        id: stack
        width: 100
        height:100
        anchors.left: rect.right
        anchors.leftMargin: 10

        Component.onCompleted: {
            stack.push ({item:stackRect, properties: {color:rect.color}})
            //stack.push ({item:stackRect2})
        }
    }

    Component {
        id:stackRect
        Rectangle {}
    }
    Component {
        id:stackRect2
        Rectangle {color:rect.color}
    }
}
4

1 に答える 1