本帖最后由 hrp 于 2020-8-24 23:12 编辑
应该是重复运行 table_item.select_access() 方法导致的,我没有测试环境,也不怎么会数据库,随手改了一下,你试试。
table_pane.py 文件from PyQt5.Qt import *
from table import Ui_Form
from access_select import Select_Table
import sys
class tablepane(QWidget, Ui_Form):
table_close_signal = pyqtSignal()
def __init__(self, parent=None):
super().__init__(parent)
self.setupUi(self)
# 发射自定义关闭按钮的信号
def table_close(self):
self.table_close_signal.emit()
# 原定发射信号由MAIN模块来处理,后决定并入本模块自行处理
# def table_show(self):
# self.table_show_signal.emit()
# 本模块自行处理表格展示的函数
def table_show(self):
# 实例化关联数据库的Select_Table类
table_item = Select_Table()
# 获取查询结果的列与行数
lst = table_item.select_access()
column = len(lst[0])
row = len(lst)
# 建立行数
self.tableWidget.setRowCount(row)
# 循环写入表内数据
for i in range(row):
for j in range(column):
self.tableWidget.setItem(i, j, QTableWidgetItem(str(lst[i][j])))
# 关闭数据连接
table_item.close_odbc()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = tablepane()
window.show()
sys.exit(app.exec_())
|