QML TreeView itemDelegate不表示已选择

QML TreeView itemDelegate不表示已选择,qml,treeview,selected,Qml,Treeview,Selected,我在QML中创建了一个简单的树状视图,其中包含多个嵌套级别。我还创建了一个“itemDelegate”和一个“rowDelegate”;这两种颜色都会在绑定到各自ISSELECT的红色/黑色之间切换背景色 当我单击某个项目时,行颜色会改变,但该项目不会改变。我确认每个项目的itemFlag包括ItemsIsSelectable和ItemIsEnabled(默认) 我的itemDelegate包含: Rectangle { color: styleData.is

我在QML中创建了一个简单的树状视图,其中包含多个嵌套级别。我还创建了一个“itemDelegate”和一个“rowDelegate”;这两种颜色都会在绑定到各自ISSELECT的红色/黑色之间切换背景色

当我单击某个项目时,行颜色会改变,但该项目不会改变。我确认每个项目的itemFlag包括ItemsIsSelectable和ItemIsEnabled(默认)

我的itemDelegate包含:

  Rectangle {
                color: styleData.isSelected ? "red" : "black"
我在树视图中添加了一个选项:

  ItemSelectionModel {
       id: treeViewSelectionModel
       objectName: "treeViewSelectionModel"
       model: treemodel
       onCurrentChanged:{console.log("Selection - current changed from ",previous, " to ", current)}
   }

正确打印出新的/以前的选择。因此,项目似乎正在被选中,但没有改变颜色。有人能解释为什么吗?

QQC1不一致,所以项使用styleData.selected,而行使用styleData.isSelected


(正如Maxim所指出的)

根据您发布的矩形,不可能判断,但您是否设置了矩形的大小/锚定?根据需要,您应该使用
样式数据。选择的
不是
样式数据。选择的
@Maxim-就是这样!似乎QML与styleData的命名方法不一致。