- Qt 6.5
- Qt SQL
- C++ Classes
- QSqlDriverPlugin
- Qt 6.5.0 Reference Documentation

# QSqlDriverPlugin Class

The QSqlDriverPlugin class provides an abstract base for custom QSqlDriver plugins. More...

Header: | #include <QSqlDriverPlugin>
CMake: | find_package(Qt6 REQUIRED COMPONENTS Sql) target_link_libraries(mytarget PRIVATE Qt6::Sql)
qmake: | QT += sql
Inherits: | QObject

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

## Public Functions

| QSqlDriverPlugin(QObject *parent = nullptr)
virtual | ~QSqlDriverPlugin()
virtual QSqlDriver * | create(const QString &key) = 0

## Detailed Description

The SQL driver plugin is a simple plugin interface that makes it easy to create your own SQL driver plugins that can be loaded dynamically by Qt.

Writing a SQL plugin is achieved by subclassing this base class, reimplementing the pure virtual function create(), and exporting the class with the Q_PLUGIN_METADATA() macro. See the SQL plugins that come with Qt for example implementations (in the `plugins/src/sqldrivers` subdirectory of the source distribution).

The json file containing the metadata for the plugin contains a list of keys indicating the supported sql drivers

     { "Keys": [ "mysqldriver" ] }

See also How to Create Qt Plugins.

## Member Function Documentation

### `[explicit]` QSqlDriverPlugin::QSqlDriverPlugin(QObject *parent = nullptr)

Constructs a SQL driver plugin and sets the parent to parent. This is invoked automatically by the moc generated code that exports the plugin.

### `[virtual]` QSqlDriverPlugin::~QSqlDriverPlugin()

Destroys the SQL driver plugin.

You never have to call this explicitly. Qt destroys a plugin automatically when it is no longer used.

### `[pure virtual]` QSqlDriver *QSqlDriverPlugin::create(const QString &key)

Creates and returns a QSqlDriver object for the driver called key. The driver key is usually the class name of the required driver. Keys are case sensitive.

See also How to Create Qt Plugins.