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 psycopg2 Fehler vars Funktion
  • Python / PyGame auf Mac installieren
  • Warum funktioniert datetime.strptime nicht in diesem einfachen Beispiel?
  • Zeitüberschreitung in Windows-Datei kopieren
  • Wie kann ich einen HTTP-Proxy in Python 2.7 setzen?
  • Nachbarmodul in Python importieren
  • Flaschenanforderung und Anwendung / json Inhalt Typ
  • Wie verbinde ich mit python pyhs2?
  • Pandas Entfernen Sie eine Zeile, wenn eine bestimmte Art von Wert in einer Spalte erscheint
  • Mit scrapy extrahieren von Daten in Links
  • Wie funktioniert __contains__ für ndarrays?
  • Initialisierung einer symmetrischen Theano-Dmatrix aus ihrem oberen Dreieck
  • Python ist die beste Programmiersprache der Welt.