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
  • 34 public functions inherited from QObject

Additional Inherited Members

  • 1 property inherited from QObject
  • 1 public slot inherited from QObject
  • 2 signals inherited from QObject
  • 1 public variable inherited from QObject
  • 10 static public members inherited from QObject
  • 9 protected functions inherited from QObject
  • 2 protected variables inherited from QObject

Detailed Description

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

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.