Qml在ListView中使用鼠标点击事件控件,初始化阶段,通过model给该控件赋初值是可以的,在程序中通过修改ListView中的model数据,也可以修改该控件的状态,但使用鼠标点击之后,model数据就不能修改该控件的属性了,该控件的状态受鼠标点击控制。有两种解决问题的途径。
屏蔽该控件的鼠标事件,自定义变量修改其状态,代码如下:
Button{
//自定义变量
property bool bCheck: false
MouseArea{
anchors.fill:parent
// 屏蔽控件的鼠标事件
}
}
在程序中直接定义绑定关系,代码如下:
Binding {
target: button
property: "checked"
value: styleData.value
}