PyQt5 中未加载 QMYSQL 驱动程序

问题描述 投票:0回答:0

我正在为使用 QMYSQL 驱动程序的 PyQt5 项目苦苦挣扎。我已经将 qsqlite.dll 和 libmysql.dll(不确定是否需要这个)放在 site-packages\PyQt5\Qt\plugins\sqldrivers

此外,我将提到的文件的副本放在我有 python 可执行文件的文件夹中,但它仍然不起作用。下面的代码返回错误“驱动程序未加载”。我花了太多时间在上面,如果您有任何想法,请提供帮助。

from PyQt5.QtWidgets import QApplication, QMainWindow, QCheckBox, QLabel, \
QFileDialog, QVBoxLayout, QWidget, QPushButton, QMessageBox, QTableWidget, \
QFrame, QTableWidgetItem, QWidget, QStackedLayout, QHeaderView, QSpacerItem, QLayout
from PyQt5 import QtCore , QtWidgets, QtGui
from PyQt5.QtCore import Qt
from PyQt5.QtSql import * 
import sys
import mysql.connector
import PyQt5


class Window(QWidget):
    
    def __init__(self):
        super().__init__(parent=None)
        
        c = QSqlDatabase.addDatabase("QMYSQL")
        c.setDatabaseName("name")
        c.setHostName('localhost')
        c.setUserName('root')
        c.setPassword('mypassword')
        c.open()
        
        if not c.open():
            QMessageBox.critical(None,
            "Error!",
            "Database Error: %s" % c.lastError().databaseText(),
            )
            sys.exit(1)
        else:
            print("Opened")

def main():
    print(PyQt5.__path__)
    app = QApplication([])
    window = Window()
    window.show()
    sys.exit(app.exec())

if __name__ == "__main__":
    main()

我试过将驱动程序文件放在不同的目录中,但没有帮助。它没有添加到 PATH 变量中,但我认为情况并非如此。

python mysql pyqt pyqt5 mysql-connector
© www.soinside.com 2019 - 2024. All rights reserved.