Important: Please read the Qt Code of Conduct -

Can I unload plugin without QPluginLoader?

  • Once I download plugin it is registered by Qt internal plugin manager and QPluginLoader can be deleted. But if I need unload plugin - I need QPluginLoader again cause cannot not find any other option to unload. Is there any access to plugin manager or I have to create QList of all QPluginLoader objects to be able unload any plugin.

  • Qt Champions 2017

    QPluginLoader is the way. If it is used by somebody else or if the plugin has reference by some other QPlugiLoader, you can't unoad it. If you are sure that nobody has reference, you can just load again to get the reference and unload it.

  • I cannot even unload plugin which was loaded only once. And I do not see way how to know who uses it. What does this mean "somebody else uses plugin"? Does this mean it's root object owner is non-zero or something else? I cannot find how explain this in plugins doc.

  • Yep... After setParent(0) to QPluginLoader object the plugin unloads successfully.

Log in to reply