tkinter – Packer

_tkinter.TclError: cannot use geometry manager pack inside . which already has slaves managed by grid

In diesem Fehlerfall wurden die Packmanager grid und pack in Kombination in in einem Programm angewandt. Es darf immer nur eine Packerart verwandt werden.

Der Packer ist einer der Geometrieverwaltungsmechanismen von Tk. Geometrie-Manager werden verwendet, um die relative Positionierung von Widgets innerhalb ihres Containers festzulegen – ihrem gemeinsamen Master. Im Gegensatz zum umständlicheren Bestücker (der seltener verwendet wird und hier nicht behandelt wird) nimmt der Packer die qualitative Beziehungsspezifikation – oben, links, Füllung usw. – und arbeitet alles aus, um die genauen Bestückungskoordinaten zu bestimmen für dich. Die Größe eines Master-Widgets wird durch die Größe der darin enthaltenen „Slave-Widgets“ bestimmt. Der Packer wird verwendet, um zu steuern, wo Slave-Widgets innerhalb des Masters erscheinen, in den sie gepackt werden. Sie können Widgets in Frames und Frames in andere Frames packen, um das gewünschte Layout zu erzielen. Außerdem wird die Anordnung dynamisch angepasst, um inkrementelle Änderungen an der Konfiguration zu berücksichtigen, sobald sie gepackt ist. Beachten Sie, dass Widgets erst angezeigt werden, wenn ihre Geometrie mit einem Geometriemanager angegeben wurde. Es ist ein häufiger Fehler, die Geometriespezifikation auszulassen und dann überrascht zu sein, wenn das Widget erstellt wird, aber nichts angezeigt wird. Ein Widget wird erst angezeigt, nachdem beispielsweise die pack()-Methode des Packers darauf angewendet wurde. Die Methode pack() kann mit Schlüsselwort-Option/Wert-Paaren aufgerufen werden, die steuern, wo das Widget in seinem Container erscheinen soll und wie es sich verhalten soll, wenn die Größe des Hauptanwendungsfensters geändert wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.