Menggunakan konsol python QGIS 2.4, saya mencoba menampilkan hanya sebagian dari fitur lapisan. Saya sudah berhasil mendapatkan fitur-fiturnya baik dari layer:
featuresIterator = layer.getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4'))
dan dari Penyedia data:
featuresIterator = layer.dataProvider().getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4'))
(Saya tidak yakin untuk memahami perbedaannya).
Yang ingin saya capai sekarang adalah hanya menampilkan fitur-fitur ini. Dengan cara yang sama persis seperti yang akan dilakukan dengan menggunakan pembuat kueri dari GUI. Saya tidak tahu apakah ini harus dikelola pada tingkat render (yang akan membuat beberapa fitur dan bukan yang lain), atau pada tingkat penyedia data (yang hanya akan memberikan layer dengan tampilan pada data yang hanya berisi bagian yang diinginkan), atau di suatu tempat di antaranya.
Jawaban:
Metode yang Anda cari disebut setSubsetString
sumber