通过QToolButton读取mdb(Microsoft Access数据库)数据需要使用QFileDialog选择mdb文件,并使用pyodbc或pypyodbc等Python库连接到数据库并执行SQL查询。以下是一个示例代码:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QToolButton, QFileDialog
import pyodbc
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.tool_button = QToolButton(self)
self.tool_button.setText("Open MDB")
self.tool_button.clicked.connect(self.open_mdb)
def open_mdb(self):
file_dialog = QFileDialog()
mdb_file, _ = file_dialog.getOpenFileName(self, "Open MDB File", "", "MDB Files (*.mdb)")
if mdb_file:
conn_str = r"Driver={{Microsoft Access Driver (*.mdb)}};DBQ={}".format(mdb_file)
conn = pyodbc.connect(conn_str)
cursor = conn.cursor()
cursor.execute("SELECT * FROM YourTableName") # 替换YourTableName为实际表名
for row in cursor.fetchall():
print(row) # 这里可以根据需要处理每一行数据
conn.close()
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
请注意,你需要在系统上安装pyodbc或pypyodbc库,并根据实际情况调整连接字符串和查询语句中的表名。
内容由零声教学AI助手提供,问题来源于学员提问