현재 VS2015, Windows 10 64 비트에서 Qt 5.8.0 64 비트를 사용하고 있습니다. 문서에 따르면 Connections
유형은 5.7.0부터 enabled
으로 새 속성을 얻었습니다. 문서의 내용 :Qt QML : 연결이 가능한 속성의 정확한 의미는 무엇입니까
이 속성은 항목에서 변경 이벤트를 허용하는지 여부를 유지합니다.
이 속성은 연결이 유효한지 여부를 제어합니다. 맞습니까? 그러나이 속성을 끄면 연결이 계속 작동합니다! 데모 코드는 다음과 같습니다.
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.0
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Button{
id: button
anchors.centerIn: parent
width: 100
height: 50
text: "Click!"
}
Connections{
target: button
enabled: false
onClicked:{
console.log("button Clicked!");
}
}
}
"버튼 클릭!" 디버그 출력에서 여전히 실행 중입니다! "enabled"속성의 정확한 의미는 무엇입니까?
PS : 그것이 내가 참으로 "사용 가능"으로 설정하면 (기본 값도 마찬가지입니다) 밝혀, 그리고 Component.onCompleted
을 끌은 연결이 무효가 및 디버그 콘솔은 버튼을 클릭 "인쇄되지 않습니다! " 더 이상 버튼을 클릭 할 때 :
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
Button{
id: button
anchors.centerIn: parent
width: 100
height: 50
text: "Click!"
}
Connections{
id: connections
target: button
enabled: true
onClicked:{
console.log("button Clicked!");
}
}
Component.onCompleted: connections.enabled = false;
}
버그입니까?
설명 된 동작을 통해 버그 인 것 같습니다. 타겟을 'null'으로 설정하여 'Connections'을 비활성화 할 수 있으므로이 기능을 사용하지 않았습니다. – derM
그래, 내가 말한대로 연결을 제어하는 데 사용. 그러나 작동하는 경우 "작동 가능"은 목표를 '널 (null)'로 설정하는 것보다 훨씬 의미 있고 스스로 설명됩니다. –