当我想添加数据库时遇到一些麻烦。
_dataBase = QSqlDatabase::addDatabase("QPSQL");
调用此方法后,我有一个错误:
QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
我包括PATH
变量路径:
PostgreSQL\9.3\bin
PostgreSQL\9.3\lib
PostgreSQL\9.3\include
另外我将文件夹sqldrivers
复制到Debug
文件夹。还尝试将dll drom这个文件夹复制到Debug
。也不起作用。
我来这里谷歌搜索,因为我在Windows中遇到了同样的问题。
在我的情况下解决这个问题我必须安装PostgreSQL for Windows 32位,因为我的Qt目标是MinGW 32位。
另外,我必须将PATH
添加到PostgreSQL bin和lib目录中,这样Qt才能找到合适的.dlls
。
@SET PATH=C:\Program Files (x86)\PostgreSQL\9.6\bin\;C:\Program Files (x86)\PostgreSQL\9.6\lib\;%PATH%
可以在启动Qt Creator之前设置PATH
,或者通过Build Environment
窗格中的Projects
使用Qt Creator本身。
如果要获取未加载QT_DEBUG_PLUGINS=1
驱动程序的原因的完整信息,请添加系统变量QPSQL
。
可能你会发现Qt无法找到它。将输出复制并粘贴到此处以了解究竟发生了什么。
在qsqlpsql.dll
上使用depends.exe,发现这个dll需要来自libpq.dll
folder的PostgreSQL\9.3\lib
。将libpq.dll
添加到Debug
文件夹,它的工作原理:)
如果您已使用conda或安装程序安装了pip install PyQt5
事件,请尝试它。它帮助了我。