# Communication between plugins

**URL:** https://discourse.kitware.com/t/communication-between-plugins/150
**Category:** Using SMTK
**Created:** [August 29, 2018, 8:42pm UTC](https://discourse.kitware.com/t/communication-between-plugins/150 "2018-08-29T20:42:19Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![dcthomp](https://discourse.kitware.com/user_avatar/discourse.kitware.com/dcthomp/32/10_2.png) [@dcthomp](https://discourse.kitware.com/u/dcthomp)
#### Post date: [August 29, 2018, 8:42pm UTC](https://discourse.kitware.com/t/communication-between-plugins/150/1 "2018-08-29T20:42:20Z")

</div>

@chart3388 When we talked, one of the questions that came up was how plugins might communicate with each other.

ParaView exposes a method for this on the client (not server) side inside `Qt/Core/pqApplicationCore.h`… plugins can call the `registerManager(const QString& function, QObject* manager);` method to register anything that inherits `QObject`. Then other plugins can call the application-core’s `QObject* manager(const QString& function);` method to fetch it based on the string name.

---

<div class="post-metadata">

### Author: ![tj.corona](https://discourse.kitware.com/user_avatar/discourse.kitware.com/tj.corona/32/35_2.png) [@tj.corona](https://discourse.kitware.com/u/tj.corona)
#### Post date: [August 30, 2018, 12:29pm UTC](https://discourse.kitware.com/t/communication-between-plugins/150/2 "2018-08-30T12:29:29Z")

</div>

There was also a question about how to programmatically load plugins. A test in SMTK ([`smtk/extension/paraview/pluginsupport/testing/python/loadSMTKPluginInParaView.py.in`](https://gitlab.kitware.com/cmb/smtk/blob/df547f9f4c32e1b00454694f659e7c174fa814cc/smtk/extension/paraview/pluginsupport/testing/python/loadSMTKPluginInParaView.py.in)) demonstrates how to do this in python. The corresponding C++ routines can be determined by simply tracing which C++ calls the python wrappings make.
