Saturday, 11 May 2019

Opening attribute table using PyQgis?


Is it possible to open an attribute table from the Python console or through a Python script in QGIS?



Answer



Yes you can, at least with the latest master version and 1.8. It is a method exposed via iface


// C++ (signature)
void showAttributeTable (QgsVectorLayer *l)

# PyQGIS (example)
iface.showAttributeTable(iface.activeLayer())


You will need a preexisting reference to a QgsVectorLayer.


For direct editing of features it is also a method exposed via iface:


// C++ (signature)
bool openFeatureForm (QgsVectorLayer *l, QgsFeature &f, bool updateFeatureOnly=false)

# PyQGIS (example)
iface.openFeatureForm(iface.activeLayer(), feature, False)

You will need a preexisting reference to a QgsVectorLayer and a QgsFeature in both cases. The feature form opened and whether it is editable are dependent upon app settings and whether the feature's layer is in edit mode.



No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...