我正在为使用 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 变量中,但我认为情况并非如此。