QSqlDriverPlugin Class

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

Header: #include <QSqlDriverPlugin>
qmake: QT += sql
Inherits: QObject

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

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.

© 2023 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.