У меня есть некоторые проблемы, когда я хочу добавить базу данных.
_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 из этой папки в Debug
, Тоже не работает
Я пришел сюда погуглить, потому что у меня была такая же проблема в Windows.
В моем случае для решения этой проблемы мне пришлось установить 32-разрядную версию PostgreSQL для Windows, поскольку моя цель Qt была 32-разрядной MinGW.
Кроме того, мне пришлось добавить PATH
в каталогах bin и lib PostgreSQL, чтобы Qt мог найти .dlls
,
@SET PATH=C:\Program Files (x86)\PostgreSQL\9.6\bin\;C:\Program Files (x86)\PostgreSQL\9.6\lib\;%PATH%
PATH
может быть установлен перед запуском Qt Creator или использованием самого Qt Creator через Build Environment
в Projects
панель.
Добавьте системную переменную QT_DEBUG_PLUGINS=1
если вы хотите получить полную информацию о том, почему QPSQL
драйвер не был загружен.
Возможно, вы обнаружите, что Qt не может его найти. Скопируйте и вставьте сюда вывод, чтобы знать, что именно происходит.
Используйте зависящий от.exe файл qsqlpsql.dll
и обнаружил, что это dll нужно libpq.dll
от PostgreSQL\9.3\lib
папка. добавлять libpq.dll
в Debug
папка и все работает 🙂
Пытаться pip install PyQt5
событие, если вы уже установили его с помощью conda или установщика. Это помогло мне.