详细描述
QSqlDriverCreator 类是为特定驱动类型提供SQL驱动工厂的模板类。
QSqlDriverCreator<T>实例化类型T的对象,其中T是 QSqlDriver的子类。
怎么注册一个SQL驱动
我们可以通过 void QSqlDatabase::registerSqlDriver(const QString & name, QSqlDriverCreatorBase * creator) [static] 这个函数来注册一个新的SQL驱动到Qt的SQL 模块中。这个函数在SQL框架中注册一个名叫name的新SQL驱动(程序)。如果你有一个自定义的SQL驱动(
程序),又不想将它编译成一个插件,那么这个API将非常有用。
例子:
QSqlDatabase::registerSqlDriver("MYDRIVER",
new QSqlDriverCreator<MyDatabaseDriver>);
QSqlDatabase db = QSqlDatabase::addDatabase("MYDRIVER");
QSqlDatabase 获取创建者指针(
QSqlDriverCreator*)的所有权,因此你不能自己删除它。
相关API
QSqlDriver * QSqlDriverCreator::createObject() const [virtual]该函数是重写
QSqlDriverCreatorBase类的纯虚函数 QSqlDriverCreatorBase::createObject(),重新实现该函数用于返回QSqlDriver 子类的新实例。(这里面还用了工厂方法设计模式哦,想了解设计模式相关可以去看LZ的设计模式专栏)。