Usando o console python QGIS 2.4, estou tentando exibir apenas um subconjunto de recursos de uma camada. Eu consegui obter os recursos da camada:
featuresIterator = layer.getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4'))
e do dataProvider:
featuresIterator = layer.dataProvider().getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4'))
(Não tenho certeza de entender a diferença).
O que eu quero alcançar agora é exibir apenas esses recursos. Exatamente da mesma maneira que se faria usando o construtor de consultas da GUI. Não sei se isso precisa ser gerenciado no nível de renderização (que renderizaria alguns recursos e não outros) ou no nível do provedor de dados (que apenas forneceria à camada uma visualização dos dados que contêm apenas subconjunto desejado) ou em algum lugar intermediário.
A resposta de @Nathan está certa. Também podemos obter o que é definido por setSubsetString () ou Query Builder usando layer.subsetString (). Se estiver vazio, uma string vazia '' será retornada.
—
Zac Wang