QGenericPlugin Class | Qt GUI | Qt 6.12.0
Description: The QGenericPlugin class is an abstract base class for plugins.
Keywords: class

- Qt 6.12
- Qt GUI
- C++ Classes
- QGenericPlugin
- Qt 6.12.0 Reference Documentation

# 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

- List of all members, including inherited members
- QGenericPlugin is part of Plugin Classes.

## 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

### `[explicit]` 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 noexcept]` 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.