Is it possible to open an attribute table from the Python Console or through a Python script in QGIS?
1 Answer 1
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.
-
The Python example worked well for me when in Python console. However, I tried to run this script in Processing, where the layer = processing.getObject() of a loaded layer. From iface.showAttributeTable(layer), I got Name Error: global name 'iface' is not defined. Any suggestions?user25976– user259762014年04月01日 23:31:15 +00:00Commented Apr 1, 2014 at 23:31
-
@dakcarto You need to import iface with 'from qgis.utils import iface'Mr Purple– Mr Purple2014年11月25日 01:33:32 +00:00Commented Nov 25, 2014 at 1:33
-
@user25976 The reference to
iface
only works for the console or scripts run from within QGIS, including plugins like Processing. For the console, it is auto-imported for convenience, with all other cases needing theimport
ofqgis.utils
. This is described at the beginning of the PyQGIS cookbook. You can not accessiface
in a standalone app, since the Python modules do not instantiate the QGIS desktop GUI application.dakcarto– dakcarto2014年11月25日 18:27:54 +00:00Commented Nov 25, 2014 at 18:27 -
1@dakcarto iface.openFeatureForm(iface.activeLayer(), feature, False) This is useful when we want to edit the selected feature but if i want to add a new feature how can i do that? without featureuser99– user992015年02月18日 13:18:58 +00:00Commented Feb 18, 2015 at 13:18
Explore related questions
See similar questions with these tags.