It also depends what you mean by "transferring data". It seems that you mean Python code ? Not geospatial data ? If you mean Python code, you can also have a look at the Processing framework. https://docs.qgis.org/3.16/en/docs/user_manual/processing/index.html You can call Processing algorithm plugin A from plugin B by using "processing.run("plugin_a_provider:name_of_algorithm")".
This will make you code available from the Processing graphical toolbox, Modeler, etc as well. Not recommended because others already gave the qgis.utils.plugins dictionary, but you can do "from plugin_a.xxxx import yyy" from you plugin B. Le ven. 23 avr. 2021 à 04:43, Tobias Schmetzer <[email protected]> a écrit : > Hello Zac, > > I just saw you were helped and I'm happy the functionality solved your > problem! > > If you feel there's a lack of documentation and you've got an idea how to > improve it I think the best thing to do is to support this documentation > with a contribution. This is how I started when I realised something was > missing and I suggested to add this or that bit of information. > > It's easy to sign up on GitHub and make a suggestion. You can't damage > anything. Everything will get reviewed and maybe discussed. There's also > guidelines in the docs how to contribute. > > Best regards, Tobias > > 22.04.2021 14:09:30 Zac Wang <[email protected]>: > > Hi guys, > > Thank you for all your replies. > > 'qgis.utils.plugins' really resolves my problem. > > This issue obsessed me for a few days, and your advice is fantastic. > > I can't understand why there is no documentation for such a useful > functionality. > > Anyway, thank you for your help. Appreciate it. > > > Cheers, > > Zac > > > On Thu, 22 Apr 2021 at 22:01, Raymond Nijssen <[email protected]> > wrote: > >> Hi Zac, >> >> You can use: >> >> qgis.utils.plugins >> >> to get a dictionary with all active plugins. >> >> >> >> To find out if another plugin is available: >> >> 'processing' in qgis.utils.plugins >> >> >> >> And use it like: >> >> processing_pl = qgis.utils.plugins['processing'] >> processing_pl.toolbox.searchBox.setText('overlay') >> >> >> Hope this helps, >> >> Raymond >> >> >> On 22-04-2021 13:07, Zac Wang wrote: >> > Hi all, >> > >> > Are there some ways to transfer data between different pyqgis plugins? >> I >> > hope plugins share state. >> > >> > The only way I found is to make pluginA to be a child component of >> > QgisApp(iface.mainWindow()). >> > >> > Then in another pluginB, call findChild() to get the object(pluginA) >> and >> > connect its signal. >> > >> > This is a possible solution, but it's not easy to maintain because >> > plugins are not initiated in the same file. >> > >> > Is there a better solution? >> > >> > Regards, >> > >> > Zac >> > >> > _______________________________________________ >> > QGIS-Developer mailing list >> > [email protected] >> > List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer >> > Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer >> > >> _______________________________________________ >> QGIS-Developer mailing list >> [email protected] >> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer >> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer >> > _______________________________________________ > QGIS-Developer mailing list > [email protected] > List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer > Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer > > _______________________________________________ > QGIS-Developer mailing list > [email protected] > List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer > Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer >
_______________________________________________ QGIS-Developer mailing list [email protected] List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
