如何确定委托QML项位于哪个ListView中



我有两个ListView(选择和队列),它们都使用相同的委托。

我想在两个列表之间以不同的方式呈现一些项目信息。

如何确定QML项目在哪个ListView中?QML中没有我可以访问的项目。

您可以使用folibis提到的ListView.view附加属性,但有一种更好的方法。如果将委托移动到其自己的QML文件中,例如Delegate.qml,则可以创建该类型的实例,只需设置一个更改其外观的属性即可。

例如:

ListView {
    // ...
    delegate: Delegate {
        fancy: true
    }
}
ListView {
    // ...
    delegate: Delegate {
        fancy: false
    }
}

您可以用这样一种方式对Delegate进行编码,即它知道如何呈现一个高级/非高级委托。例如:

Rectangle {
    property bool fancy
    color: fancy ? "steelblue" : "grey"
    // ...
}

相关内容

  • 没有找到相关文章

最新更新