QSqlError("", "Driver not loaded", "Driver not loaded")怎么解决?

QT开发, 使用SQLite库。
我使用下述代码,可以正常的建立和打开数据库,并进行操作。
SqliteOperator::SqliteOperator()
{
    if (QSqlDatabase::contains("qt_sql_default_connection"))
    {
        database = QSqlDatabase::database("qt_sql_default_connection");
    }
    else
    {
        // 建立和SQlite数据库的连接
        database = QSqlDatabase::addDatabase("QSQLITE");

        // 设置数据库文件的名字
        database.setDatabaseName("MyDataBase.db");
    }
}

但是,一旦我换掉默认连接qt_sql_default_connection,比如:换成my_sql_connection
然后,相应的database = QSqlDatabase::addDatabase("QSQLITE","my_sql_connection");
就报错:QSqlError("", "Driver not loaded", "Driver not loaded")
我查看了数据库是被成功创建了的,但是无法正确的驱动。请问怎么解决?

my_sql_connection?那是驱动mysql不是sqlite的吧

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/232162
  • 这篇博客也不错, 你可以看下【Qt】 Driver not loaded 解决方案
  • 除此之外, 这篇博客: PyQt5在连接mysql数据库时,出现QMYSQL Driver not loaded中的 方案一: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    在以前是没有出现这种错误的,以前的PyQt5的版本为5.12,但是后来电脑出了问题,版本变成了5.15,这个版本有两个问题,第一个问题是cannot found module  QtWebEngine    ,  第二个问题是没有连接数据库的dll文件

    解决没有模型QtWebEngine的方式为重新安装QtWebEngine,pip install QtWebEngine就行了。

    解决没有QMYSQL Driver not loaded的问题,找到mysql数据库的安装目录,从中copy文件 libmysql.dll到pyqt5的安装目录

    mysql路径为:

    ibmysql.dll复制到bin目录下就行了,pyqt5的安装目录:

    from PyQt5.QtSql import QSqlQuery, QSqlDatabase
    
    db = QSqlDatabase.addDatabase('QMYSQL')
    db.setHostName('127.0.0.1')
    db.setPort(3306)
    db.setDatabaseName('test')
    db.setUserName('root')
    db.setPassword('')
    if db.open():
        print("打开啦")
    else:
        print(db.lastError().text())
    就可以连接到mysql数据库了
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^