Respuestas:
Sí, al menos con la última versión maestra y 1.8. Es un método expuesto a través de iface
// C++ (signature)
void showAttributeTable (QgsVectorLayer *l)
# PyQGIS (example)
iface.showAttributeTable(iface.activeLayer())
Necesitará una referencia preexistente a un QgsVectorLayer.
Para la edición directa de características, también es un método expuesto a través de iface :
// C++ (signature)
bool openFeatureForm (QgsVectorLayer *l, QgsFeature &f, bool updateFeatureOnly=false)
# PyQGIS (example)
iface.openFeatureForm(iface.activeLayer(), feature, False)
Necesitará una referencia preexistente a un QgsVectorLayer y un QgsFeature en ambos casos. El formulario de entidad abierto y si es editable dependen de la configuración de la aplicación y de si la capa de la entidad está en modo de edición.
iface
solo funciona para la consola o los scripts ejecutados desde QGIS, incluidos los complementos como Processing. Para la consola, se importa automáticamente por conveniencia, y todos los demás casos necesitan el import
de qgis.utils
. Esto se describe al comienzo del libro de cocina PyQGIS . No puede acceder iface
en una aplicación independiente, ya que los módulos de Python no crean una instancia de la aplicación GUI de escritorio QGIS.