ListView tablom var. Bu tablonun öğelerini, öğe türüne göre gizlemek/göstermek için bazı filtre düğmeleri eklemek istiyorum. En kolay yol, öğe temsilcisinin görünür özelliğini belirler. Ancak, gizli öğeler hala listView.contentHeight veya listView.visibleArea.heightRatio'da sayılır. Sonuç olarak, bu değerler kaydırma yaparken kaydırma çubuğunun yüksekliğini ve konumunu etkiler, değişmez, genişler, sırayla atlar.QML ListView filtre öğeleri
Listedeki diğer bir konu Listede, eğer bir öğe seçiliyse, indeksini bilmenin bir yolu yoktur, örneğin tablodaki ikinci sırada olduğu gibi görünüyor, ancak aslında dizininin daha yüksek olması nedeniyle görünmez öğeler. Görünmez öğeler sayılmazsa iyi olur.
Lütfen bu sorunun nasıl çözüleceğine yardımcı olun. Hepinize teşekkür ederim.
ListView{
id: listView
delegate: itemdelegate
}
Component{
id: itemdelegate
Item{
visible: model.type === filteredType ? true: false
}
}
Yardımlarınız için teşekkürler. Bu çözüme daha önce başlamıştım ancak performans bilgisi, liste görünümü modelini (ve böylece tablo öğelerini) temizlemek ve doldurmak için daha fazla zaman harcayarak, GUI'nin dondurulmasını sağlar. Bir performans testi denedim ve bahsettiğim yol önemli ölçüde daha kısa sürdü. – Maluvel