2017-07-20 4 views
0

Ich versuche, Geschichte zu drucken, die in einer Datenbank in einem Fenster ist, aber mein Programm zeigt nur zwei Zeilen (nicht einmal bestellt). was ist das Problem? wenn ich es drucke bekomme ich die Daten richtig, aber ich kann sie nicht auf dem Fenster bekommen. für mich macht es keinen Sinn.ganze Datenbank Daten zeigen tkinter sqlite3

   def his(self, database, progx): 

        con = sqlite3.connect(database) 
        with con: 
         cur = con.cursor() 
         cur.execute('SELECT * FROM ' + progx + ' ORDER BY id DESC ') 
         index=3 
         for row in cur.fetchall(): 
          print(row) #this works just fine 
          Label(self, text=row[1]).grid(row=index, column=0) 
          Label(self, text=row[2]).grid(row=index, column=1) 
          Label(self, text=row[3]).grid(row=index, column=2) 
          Label(self, text=row[4]).grid(row=index, column=3) 
          Label(self, text=row[5]).grid(row=index, column=4) 
          Label(self, text=row[6]).grid(row=index, column=5) 
          Label(self, text=row[7]).grid(row=index, column=6) 
          Label(self, text=row[8]).grid(row=index, column=7) 
          Label(self, text=row[9]).grid(row=index, column=8) 
          Label(self, text=row[10]).grid(row=index, column=9) 
          Label(self, text=row[11]).grid(row=index, column=10) 
          Label(self, text=row[12]).grid(row=index, column=11) 
          Label(self, text=row[13]).grid(row=index, column=12) 
          Label(self, text=row[14]).grid(row=index, column=13) 
          hist.update() 
          index=+1 
+0

'für n im Bereich (14):. Etikett (self, text = row [n + 1]) Gitter (row = Index, Spalte = n) 'wird alle hässlichen sich wiederholenden Code loswerden – Nelson

+0

danke, aber das löst mein Problem nicht. –

+0

Ja, Sie haben Recht. Nur ein kleiner Tipp für den zukünftigen Gebrauch. Mir scheint, dass das Problem von etwas anderem in Ihrem Code verursacht werden muss. Wenn die ausgedruckten Daten gut aussehen, sehe ich keinen Grund, warum das nicht funktionieren sollte. – Nelson

Antwort

0

Es Iterieren nicht durch Widgets richtig, weil die Indizierung falsch ist. Wechsel:

index=+1 

To:

index += 1 
+0

vielen dank, ich habe seit gestern mit diesem gekämpft. –

Verwandte Themen