提问人:Matt John 提问时间:10/13/2023 最后编辑:Matt John 更新时间:10/13/2023 访问量:44
在TableWidget Qt Designer中显示数据
Display data in TableWidget Qt Designer
问:
{import os
import sys
import pyodbc as odbc
import pandas as pd
from check import * # check is my ui file
class MainWindow(QMainWindow):
def __init__(self,parent=None):
QMainWindow.__init__(self)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.setMinimumSize(850,600)
self.show()
self.ui.locBtn.clicked.connect(lambda: self.display())
def display(self):
DRIVER_NAME='SQL Server'
SERVER_NAME='DESKTOP-TF6BQMV\SQLEXPRESS01'
DATABASE_NAME='SCM'
connection_string= f"""
DRIVER={{{DRIVER_NAME}}};
SERVER={SERVER_NAME};
DATABASE={DATABASE_NAME};
Trust_Connection=yes;
"""
conn=odbc.connect(connection_string)
c=conn.cursor()
df=pd.read_sql("select * from TK",conn)
tenTK=self.ui.tenTK.text()
ltk=self.ui.tkCb.currentText()
df=df[df["LoaiTK"]==0]
self.ui.tbTK.setRowCount(0)
for row_number, row_data in df.iterrows():
self.ui.tbTK.insertRow(row_number)
for column_number, data in enumerate(row_data):
self.ui.tbTK.setItem(row_number, column_number, QtWidgets.QTableWidgetItem(str(data)))
## EXECUTE APP
########################################################################
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())}
如果我更改为代码:df=df[df[“LoaiTK”]==1] tablewidget 显示我的数据,但如果我保留代码:df=df[df[“LoaiTK”]==0] tablewidget 不显示任何内容。我的数据库有 2 行 LoaiTK =1 和 0。
答: 暂无答案
评论
row_number
insertRow(1)
self.ui.tbTK.setRowCount(len(df))
for row_number, (_, row_data) in enumerate(df.iterrows())
insertRow()