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

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 noexcept] 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.