What are the commands to apply all types of zoom (full, on selected layer, etc.) in python console? I'm searching both on pyqgis cookbook and API documentantion, but I'm not finding anything interesting.
2 Answers
After getting around cookbook, the best place to learn is referring the QGis API Documentation. In this case we are looking for zoom functions, which are related to map canvas. So check if QgsMapCanvas
class contains something.
Zoom functions available in QGis are provided in QgsMapCanvas Class.
>>> canvas = qgis.utils.iface.mapCanvas()
>>> canvas.zoomIn()
>>> canvas.zoomOut()
>>> canvas.zoomToFullExtent()
-
How to you get to
qgis.utils.iface.mapCanvas()
fromQgsMapCanvas
? I tried to toa = QgsMapCanvas()
and thena.zoomIn()
but it doesnt do anything. Thanks Commented May 7, 2021 at 9:03 -
All the zoom options under the 'View' menu can be executed in the python console by the following code.
eMenu = self.iface.viewMenu()
eMenu.actions() [index].trigger()
Replace the "index" with the index number of the zoom action you want to perform. For eg., To perform 'zoom to selected features', use
eMenu.actions() [12].trigger()
-
2How do you know that the number 12 denotes 'zoom to selected features'? Commented Jan 11, 2017 at 3:28
-
You better use
iface.actionZoomToSelected().trigger()
instead! Commented Jul 15, 2021 at 14:27