/ / Ako určiť, ktorý ListView delegát QML položka je v? - qml, qt5

Ako zistiť, ktorý ListView je položka QML delegáta? - qml, qt5

Mám dve ListViews (výber a front), ktoré používajú rovnaký delegát.

Chcem prezentovať niektoré informácie o položkách odlišne medzi týmito dvoma zoznamami.

Ako zistím, v ktorej položke ListView je položka QML? V QML nie je prístup k žiadnej položke.

odpovede:

2 pre odpoveď č. 1

Môžete použiť ListView.view pripojený majetok ako folibis, ale je tu krajší spôsob. Ak presuniete delegáta do vlastného súboru QML, povedzme Delegate.qml, môžete vytvoriť inštancie tohto typu, ktoré jednoducho nastavujú vlastnosť, ktorá mení ich vzhľad.

Napríklad:

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

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

Vy ste kód d Delegate takým spôsobom, aby vedel, ako poskytnúť fantáziu / netypickú delegáciu. Napríklad:

Rectangle {
property bool fancy

color: fancy ? "steelblue" : "grey"
// ...
}