Was steuert die automatische Fenstergrößenanpassung in Tkinter?

8

Tkinter Top-Level-Fenster scheinen zwei "Modi" zu haben: Wo die Größe von der Anwendung bestimmt wird und wo der Benutzer die Größe steuert. Betrachten Sie diesen Code:

%Vor%

Jedes Mal, wenn ich den Knopf drücke, ändert sich das sichtbare Fenster, um es an ein zusätzliches Etikett anzupassen. Wenn ich jedoch das Fenster manuell (mit der Maus) verkleinere, stoppt es das automatische Größenänderungsverhalten und von nun an muss ich die Größe des Fensters manuell ändern, um neue Schaltflächen anzuzeigen, wenn sie hinzugefügt werden.

Was bestimmt, ob die Größe eines Toplevel-Fensters von der Anwendung oder dem Benutzer gesteuert wird?

Wie kann die Anwendung die automatische Größenanpassung wiederherstellen, nachdem der Benutzer die Größe manuell geändert hat?

    
timbod 25.01.2012, 03:30
quelle

1 Antwort

12

Die Regel ist ziemlich einfach - ein Toplevel-Fenster hat immer dann eine feste Größe, wenn es eine feste Größe hat, sonst "verkleinert es sich".

Es gibt zwei Möglichkeiten, dem Fenster der obersten Ebene eine feste Größe zuzuweisen: Der Benutzer kann die Größe manuell ändern, oder der Anwendungscode kann wm_geometry , um beim Start eine Größe zu erhalten.

Um das ursprüngliche Verhalten zurückzusetzen, geben Sie dem Fenster eine Null-Geometrie. Zum Beispiel:

%Vor%     
Bryan Oakley 25.01.2012, 12:00
quelle

Tags und Links