我是QML新手。我正在尝试了解如何在ListView中访问选定的代理。例如,我有以下main.qml
import QtQuick 2.15
import QtQuick.Controls 2.5
import QtQuick.Window 2.15
Window {
width : 640
height : 700
visible : true
title : qsTr("Hello World")
Rectangle {
id : rect_A
anchors.left : parent.left
width : 300
height : 500
border.color : "black"
border.width : 2
ListView {
id : view_A
anchors.fill : parent
spacing : 10
model : 5
delegate : comp_1
}
}
Rectangle {
id : rect_B
anchors.right : parent.right
width : 300
height : 300
border.color : "black"
border.width : 2
ListView {
id : view_B
anchors.fill : parent
spacing : 10
model : 5
clip : true
delegate : comp_1
}
}
Component {
id : comp_1
Row {
id : row_1
spacing : 10
CheckBox {
id : checkBox
Text {
text : index
}
}
}
}
}
我希望实现以下行为:选中或取消选中左侧的复选框时,右侧相应的复选框也会执行相同的操作。
我正在尝试了解如何寻址选定的委托并更改其属性。
你能帮帮我吗?我有一种感觉,这应该很容易,但我错过了一些基本的。
1条答案
按热度按时间hjzp0vay1#
这通常是通过C++ / Python中定义的模型来完成的,该模型具有跟踪选中状态的角色。下面是
ListModel
的一个简单示例:You can try it here