TKinter Grid Höhenbegrenzung

Ich muss einen Tisch mit einer riesigen Anzahl von Zeilen ( mehr als 2000 ) erstellen. Jede Zeile sollte in der Lage sein, Widgets zu halten. Aber wenn ich versuche, Einträge nach etwa 1714 hinzuzufügen, startet das Raster zu wachsen und alle folgenden Widgets werden aufeinander gezogen. Das Problem scheint mit der Höhe des Rasters verwandt zu sein, denn wenn ich die Randbreite eines Eintrags ändere, ändert sich auch dieser Wert.

import Tkinter as tk class Example( tk.Frame ): def __init__( self, root ): tk.Frame.__init__( self, root ) self.canvas = tk.Canvas( root, background = "#ffffff", borderwidth = 0 ) self.frame = tk.Frame( self.canvas, background = "#ffffff" ) self.vsb = tk.Scrollbar( root, orient = "vertical", command = self.canvas.yview ) self.canvas.configure( yscrollcommand = self.vsb.set ) self.vsb.pack( side = "right", fill = "y" ) self.canvas.pack( side = "left", fill = "both", expand = True ) self.canvas.create_window( ( 4, 4 ), window = self.frame, anchor = "nw", tags = "self.frame" ) self.frame.bind( "<Configure>", self.on_frame_configure ) self.populate() def update( self ): self.frame.update() def add( self ): for id in xrange( 2000 ): entry_id = tk.Entry( self.frame, width = 10, justify = 'center', borderwidth = "1", relief = "solid", bg = '#C8D4FA' ) entry_id.grid( row = 1 + id, column = 0 ) entry_id.insert( 1, 1 + id ) def populate( self ): self.frame.grid_rowconfigure( 0, weight = 1 ) button = tk.Button( self.frame, text = 'Click', command = self.add ).grid( row = 0, column = 0 ) def on_frame_configure( self, event ): '''Reset the scroll region to encompass the inner frame''' self.canvas.configure( scrollregion = self.frame.bbox( 'all' ) ) #self.canvas.configure( scrollregion = self.canvas.grid ) def main(): root = tk.Tk() example = Example( root ) root.mainloop() if __name__ == '__main__': main() 

Python ist die beste Programmiersprache der Welt.