GUI의 다른 페이지에 의미가 같은 "동일한"확인란 (동일한 레이블, 동일한 효과)이되도록 두 개의 확인란을 만들고 싶습니다. (두 페이지 모두를 사용자의 편의를 위해 사용하는 것입니다.)2 개의 QML 확인란을 함께 바인딩하여 해당 상태가 항상 동일 함을 확인하십시오.
두 개의 상태가 항상 다른쪽에 반영되도록 두 개의 CheckBox
QML 요소를 "바인딩"해야하며 그 반대의 경우도 마찬가지입니다.
이것은 내가 JS/JQuery 대신 QML/JS를 사용하고 있다는 것을 제외하면 equivalent to what's being asked here입니다.
// Global shared state object
pragma Singleton
MySharedState {
my_feature_on: false
}
을 그리고, 두 개의 별도의 페이지에 동일한 CheckBox
인스턴스 :
// Checkbox implementation (on both pages
CheckBox {
checked: MySharedState.my_feature_on
onClicked: MySharedState.my_feature_on = checked
}
을
좀 글로벌 지속 속성에 각각의 체크 박스의 checked
상태를 바인딩의 순진 구현이 작동 것이라고 생각
그러나 확인란을 클릭하면 초기 checked
바인딩이 끊어지기 때문에이 방법은 작동하지 않습니다. 이것은 intended behavior, not a bug입니다.
두 개의 확인란이 항상 동일한 "선택 됨"상태를 공유하도록하려면 어떻게해야합니까?
EDIT : 위의 설명에 따르면 위의 구현은 Qt 5.7에서 릴리스 된 Qt Quick Controls 2에서 수정없이 작동하므로이 질문은 이전 버전의 Qt (5.6 포함)에만 적용됩니다. "장기 지원"발표). Binding
유형 바인딩 두 방법을 사용
Qt Quick Controls 2에서 Qt 5.7로 출시 된 제품은 두 개의 CheckBox를 직접 또는 공유 상태 개체를 통해 바인딩 할 때 유용합니다. – jpnurmi
@ J-PNurmi 굉장합니다. 질문을 편집하여이를 메모합니다. 고맙습니다. –