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() 

  • Entfernen eines oder mehrerer Schlüssel aus einem Wörterbuch
  • Log4j mit Zeitstempel pro Log-Eintrag
  • Erstellen Sie ein Klickereignis in tkinter
  • Importiere pandas auf jupyter ipython notizbuch scheitert
  • Schreiben von csv-Dateien in python (Dateien werden am Ende der Operation leer gelassen)
  • Wie bekomme ich in der Pydev Eclipse Editor Marge Pylint Warnungen markiert?
  • Warum nimmt numpy.zeros wenig Platz ein
  • Einpacken einer interaktiven CLI in Python
  • Nosetests, python
  • Wie benutzt man Django Cycle Tag
  • Fehler beim Starten eines neuen Scrapy-Projekts
  • Installieren von wxPython in Ubuntu 12.10
  • Python ist die beste Programmiersprache der Welt.