ich habe folgendes Problem und bitte Euch um Hilfe:
Ich möchte mir Daten aus einer SQL DB mittelt Tkinter in einer Tabelle darstellen.
Das funktioniert auch alles relativ problemlos.
Die Tabelle besteht einfach aus Labels die in einem Grid angeordnet werden.
Wenn ich jedoch mehr als 10k Elemente in meinem Grid anordne, verhält sich Tkinter sehr merkwürdig.
Die Tabelle wird nicht mehr korrekt dargestellt, und es sieht so aus als ob Tkinter alle Labels übereinander in der oberen linken Bildschirmecke anordnen würde. Wenn die Anzahl der Elemente noch größer wird, schmiert mir alles ab.
Hat jemand eine Lösung? Wie kann ich die Anzahl der "erlaubten" Elemente erweitern? Habe in der Tkinter Dokumentation nach Limitierungen gesucht, jedoch nichts gefunden. Hat da jemand eine Quelle wo diese aufgelistet sind?
Hier noch der (vereinfachte) Code der das Problem generiert:
Code: Alles auswählen
class Table_Widget():
def __init__(self, master):
self.x_pos = 0
self.y_pos = 0
self.frame = Frame(master)
self.frame.pack(expand=TRUE)
def add_cell(self, text = None):
self.cell = Label(self.frame, text = text)
self.cell.grid(row = self.y_pos, column = self.x_pos, sticky = NSEW)
self.x_pos = self.x_pos + 1
def start_new_row(self):
self.x_pos = 0
self.y_pos = self.y_pos + 1
root = Tk()
tw = Table_Widget(root)
a = 101
for i in range(1,a):
for j in range(1,a):
tw.add_cell("Test")
tw.start_new_row()
root.mainloop()