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.
Respostas:
O método que você está procurando é chamado setSubsetString
fonte