im trying add data query table widget in pyqt im having trouble getting put rows in. right code returns first , third columns data in them! use in this! there total of 5 columns , 7055 rows
my code:
import psycopg2 pyqt4 import qtcore, qtgui def populate(self): con = psycopg2.connect("dbname=postgres user=username host=servername password=passowrd") cur = con.cursor() cur.execute("""select * doarni.bins_v2""") data = cur.fetchall() = len(data) #rows b = len(data[0]) #columns self.ui.tablewidget.setsortingenabled(true) self.ui.tablewidget.setrowcount(a) self.ui.tablewidget.setcolumncount(b) self.ui.tablewidget.sethorizontalheaderlabels(['column1', 'column2', 'column3', 'column4', 'column5']) = 1 #row j = 0 #column j in range(a): in range(b): item = qtgui.qtablewidgetitem(data[j][i]) self.ui.tablewidget.setitem(j, i, item) self.ui.tablewidget.sortbycolumn(0, qtcore.qt.descendingorder)
try code configured show unicode strings:
rows = cur.fetchall() self.tablewidget.setrowcount(len(rows)) qs=qtcore.qstring() r=0 row in rows: r=r+1 col= 0 itm in row: if type(itm)==type('a'): item = qs.fromutf8(itm, size=-1) qs=qtcore.qstring() else: item = str(itm) self.tablewidget.setitem(r, col, qtgui.qtablewidgetitem(item)) col = col+1
Comments
Post a Comment