Как изменить свойство других объектов в QML

#qml #blackberry-10 #blackberry-cascades

#qml #blackberry-10 #blackberry-каскады

Вопрос:

В bb.cascades файле QML у меня есть следующее:

    Container {
        id: rangeSelector

        bottomPadding: 5
        layout: StackLayout {
            orientation: LayoutOrientation.LeftToRight
        }

        Container {
            Button {        
                id: buttonA            
                text : "1D"
                opacity: 1.0
            }
        }

        Container {
            Button {
                id: buttonB            
                text : "5D"
                opacity: 0.5
            }
        }
    }
 

Как мне изменить значение opacity of buttonA , когда buttonB оно используется?

Я совершенно новичок в QML, прочитал документацию по BB10 cascades, но не могу найти, как подключить подобные вещи.

Моя цель этого вопроса — понять, как, в общем, изменить что-то в других «объектах» одним нажатием или изменить внутри другого. Но у меня действительно есть вышеупомянутая проблема (но тогда с 6 кнопками вместо 2; попытка создать своего рода SegmentControl с более чем 4 сегментами).

Ответ №1:

Это было довольно просто:

 Container {
    Button {        
        id: buttonA            
        text : "1D"
        opacity: 1.0
        onClicked: {
            buttonA.opacity = 1.0
            buttonB.opacity = 0.5
        }
    }
}

Container {
    Button {
        id: buttonB            
        text : "5D"
        opacity: 0.5
        onClicked: {
            buttonA.opacity = 0.5
            buttonB.opacity = 1.0
        }
    }
}
 

Комментарии:

1. Поздравления с тем, что вы нашли свой собственный ответ. Вы можете пометить его как принятый ответ, и это завершит жизненный цикл вопроса.

2. Нет проблем. Приятно видеть людей, которые продолжают работать над своей проблемой даже после того, как они отправили вопрос.