Ja, da habe ich Unsinn getrieben, hab ja nur Schlüssel verändert. Wollte schnell reagieren (und ich verbringe den Abend nicht nur hiermit) und habe Deinen Code flüchtiger gelesen, als Dein engagiertes Eintreten für Dein GUI verdient - DAFÜR sorry. Und - ja, ich hab einiges drauf.
Wohin ich es ändern wollte, war auf dies:
Code: Alles auswählen
def getDatabase(self):
db = shelve.open(DATABASE)
self.mlt.delete(0, END)
for i in range(10000):
for x in db.keys():
( B, M ) = db[x]
self.mlt.insert(END, (x, B+str(i), M))
db.close()
Und von 3 Sekunden kann keine Rede mehr sein, warte jetzt schon einige Minuten auf das tk-Fenster. Ich werde meine Behauptungen über TKinter schon noch ein wenig verteidigen. Ich mochte TKinter wirklich und hatte eine Tabelle fertig (neues Steuerelement), die nur auf Anforderung rendert (und sonst eben auch im Hintergrund nicht, die Zahl der Zeilen ist dann ganz egal und kann auch tatsächlich unendlich sein). Unter Verwendung einer dll von F.Lundh für ein Projekt, mit dem er wohl schon 2001 begonnen hatte und das ruht oder tot ist. Nun müssen es wohl schon 10 Minuten sein - ach, da kommt das Fenster gerade und ich kann all dies erst einmal abschließen.