I have a QGIS plugin that performs a long-running operation, eventually producing and loading new shapefiles into QGIS. (I have this as a plugin rather than just a function that can be called from the console because the console doesn't work very well for long-running operations.)
Internally, the plugin creates a complex Python data structure. I would like a user to be able to access this data structure from the QGIS Python Console.
I know that this could be done by serializing the data structure to a file and then loading it from a file (slightly more difficult in this case because the data structure cannot be pickled) but I am wondering if there is some sort of global variable inside QGIS to which I can assign my data structure from the plugin so that it can be directly used from the Python Console.
1 Answer 1
You are able to access any plugin data by using the qgis.utils.plugins
from qgis import utils
mypluginInstance = utils.plugins['myplugin']
print(mypluginInstance.myData)
-
2Thanks for this. You can use the same lines to create a reference and access functions from a plugin too. Without this answer I may never have known how. ie mypluginInstance.mypluginfunction()Mr Purple– Mr Purple2014年04月25日 11:50:09 +00:00Commented Apr 25, 2014 at 11:50
Explore related questions
See similar questions with these tags.