Display data in TableWidget Qt Designer

57 Views Asked by At
{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_())}

if I change to code: df=df[df["LoaiTK"]==1] tablewidget display my data, but if i keep code: df=df[df["LoaiTK"]==0] tablewidget display nothing. My database has 2 rows LoaiTK =1 and 0.

0

There are 0 best solutions below