QGenericPlugin Class

The QGenericPlugin class is an abstract base class for plugins. More...

Header: #include <QGenericPlugin>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Inherits: QObject

Public Functions

QGenericPlugin(QObject *parent = nullptr)
virtual ~QGenericPlugin()
virtual QObject *create(const QString &key, const QString &specification) = 0

Detailed Description

A mouse plugin can be created by subclassing QGenericPlugin and reimplementing the pure virtual create() function. By exporting the derived class using the Q_PLUGIN_METADATA() macro, The default implementation of the QGenericPluginFactory class will automatically detect the plugin and load the driver into the server application at run-time. See How to Create Qt Plugins for details.

The json metadata file should contain a list of keys supported by this plugin.

See also QGenericPluginFactory.

Member Function Documentation

QGenericPlugin::QGenericPlugin(QObject *parent = nullptr)

Constructs a plugin with the given parent.

Note that this constructor is invoked automatically by the moc generated code that exports the plugin, so there is no need for calling it explicitly.

[virtual] QGenericPlugin::~QGenericPlugin()

Destroys the plugin.

Note that Qt destroys a plugin automatically when it is no longer used, so there is no need for calling the destructor explicitly.

[pure virtual] QObject *QGenericPlugin::create(const QString &key, const QString &specification)

Implement this function to create a driver matching the type specified by the given key and specification parameters. Note that keys are case-insensitive.

© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.