微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

QML TreeView itemDelegate 不指示 isSelected

如何解决QML TreeView itemDelegate 不指示 isSelected

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

当我单击一个项目时,ROW 颜色会发生变化,但该项目不会。我确认每个项目的 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 不一致,所以 item 使用 styleData.selected 而 row 使用 styleData.isSelected

(如马克西姆所说)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。