(QML syntax - Basics) How to implement an on-off interaction on a switch
Solved
General and Desktop
-
Gents, sorry for the very newbie's question.
I have a custom switch "ca" that I'm trying to interact with another "cb" into a main.qml. The "ca" switch instance should enable (e.g. onToggled - in "on" position) "cb" and disable it in off position. I'm ok doing the first behavior but no idea on how to make the "cb" switch turn back to their initial state via the master "ca" switch. Could anyone help me please? Thanks.My custom switch "ca" inside the main.qml goes like this
CustomSC { ... onToggled: cb.enabled = false }
-
This is my CustomSC.qml
import QtQuick 2.12 import QtQuick.Controls 2.12 SwitchDelegate { id: sDeleg text: qsTr("SwitchDelegate") spacing: 10 rightPadding: 2 leftPadding: 2 bottomPadding: 0 topPadding: 0 checked: false contentItem: Text { text: sDeleg.text font: sDeleg.font opacity: enabled ? 1.0 : 0.3 color: sDeleg.down ? "#21be2b" : "#a9a9a9" elide: Text.ElideRight verticalAlignment: Text.AlignVCenter leftPadding: 0 rightPadding: 38 } indicator: Rectangle { implicitWidth: 34 implicitHeight: 16 x: sDeleg.width - width - sDeleg.rightPadding y: parent.height / 2 - height / 2 radius: 8 color: sDeleg.checked ? "#17a81a" : "transparent" border.color: sDeleg.checked ? "#17a81a" : "#cccccc" Rectangle { x: sDeleg.checked ? parent.width - width : 0 width: 16 height: 16 radius: 8 color: sDeleg.down ? "#cccccc" : "#ffffff" border.color: sDeleg.checked ? (sDeleg.down ? "#17a81a" : "#21be2b") : "#999999" } } background: Rectangle { implicitWidth: 100 implicitHeight: 30 visible: sDeleg.down || sDeleg.highlighted color: sDeleg.down ? "#00000000" : "#00000000" } }