I have been trying to load/install plugins via the python console in QGIS. After going through the documentation, I'm sure this is the way. I want to check if a plug-in is already installed, if not install it.
The lines:
from qgis import utils
try:
utils.isPluginLoaded('zoomtocoordinates')
except ValueError:
qgis.core.QgisInterface.addPluginToMenu('zoomtocoordinates')
The error returned:
Traceback (most recent call last):
File "<input>", line 1, in <module>
AttributeError: 'module' object has no attribute 'QgisInterface'
-
1addPluginToMenu will not load the plugin, it is usually used by the initgui method of a plugin.Zoltan– Zoltan2015年09月13日 08:13:10 +00:00Commented Sep 13, 2015 at 8:13
2 Answers 2
You have to load and start the plugin. From the QGIS python console, you can do:
from qgis import utils
utils.loadPlugin('zoomtocoordinates')
utils.startPlugin('zoomtocoordinates')
QgisInterface is an abstract base class you cannot use this way. Call the addPluginToMenu method through the iface e.g. iface.addPluginToMenu(...) The addPluginToMenu has two arguments, the second one is an action.
-
What would be the action ? like trigger()Sam Guerrero– Sam Guerrero2015年09月14日 06:11:06 +00:00Commented Sep 14, 2015 at 6:11
-
An action is a QAction object with icon, text and call back function. But again addPluginToMenu will not load the plugin.Zoltan– Zoltan2015年09月15日 11:16:58 +00:00Commented Sep 15, 2015 at 11:16
Explore related questions
See similar questions with these tags.