QML TreeView itemDelegate 不指示 isSelected

QML TreeView itemDelegate not indicating isSelected

我在 QML 中创建了一个简单的 TreeView,具有多个嵌套级别。我还创建了一个“itemDelegate”和一个“rowDelegate”;两者都在绑定到各自 isSelected 的 red/black 之间切换背景颜色。

当我点击一个项目时,行颜色改变,但项目没有。我确认每个项目的 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)}
   }

正确打印出 new/previous 选择。所以看起来该项目正在被选中,但没有改变颜色。有人可以解释为什么吗?

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

(如 Maxim 所述)