Por ejemplo, si establece una casilla de verificación en el encabezado de la vista de lista y luego desea modificar dinámicamente el texto de la casilla de verificación en otros controles, modificarlo a través del ID no es válido porque está en el encabezado y no está definido para otros controles. control S. Esto se puede resolver usando una propiedad externa:
Window {
width: 400
height: 400
visible: true
property int title: 1
property string name: qsTr("1")
ListView{
id: view
width: parent.width
height: parent.height - 50
header: Item{
width: parent.width
height: 30
CheckBox{
id:checkall
text: name
}
}
}
Button{
width: 60
height: 20
anchors.top: view.bottom;
text: qsTr("切换")
onClicked: {
title += 1
if(title > 4)
title = 1
if(title==1)
name = qsTr("1")
else if(title==2)
name = qsTr("2")
else if(title==3)
name = qsTr("3")
else if(title==4)
name = qsTr("4")
}
}
}