¿Existe una manera de abrir la tabla de atributos y establecer la configuración de "mostrar las características seleccionadas" a través de pyqgis?
Respuestas
¿Demasiados anuncios?Esto se basa en la respuesta aceptada por Joseph pero no tengo la suficiente reputación para comentarlo. Cualquier otra persona que busque esto puede encontrar lo siguiente útil para abrir una tabla de atributos y luego establecer su modo de filtro sin necesidad de cambiar los QSettings:
attDialog=iface.showAttributeTable(iface.activeLayer()) #Or specify a QgsVectorLayer
attDialog.findChild(QAction,'mActionSelectedFilter').trigger()
Sí, puede cambiar la configuración (que está disponible en Settings > Options > Data Sources > Attribute table behaviour
) y configurarlo para que muestre las características seleccionadas cada vez que se abra la tabla:
from PyQt4.QtCore import QSettings
QSettings().setValue("/Qgis/attributeTableBehaviour", "1")
Editar:
Utilizando iface.showAttributeTable(iface.activeLayer())
parece ignorar el QSetting y en su lugar mostrar todas las características por defecto. Una alternativa para cargar la tabla de atributos del capa seleccionada con el QSetting elegido podría ser el siguiente:
from PyQt4.QtGui import QAction
iface.mainWindow().findChild( QAction, 'mActionOpenTable' ).trigger()