Breite von dynamischen Label ermitteln

Fragen zu Tkinter.
Antworten
gaylordschuster
User
Beiträge: 1
Registriert: Donnerstag 4. August 2022, 16:57

Hallo zusammen,

dieses Thema wurde evtl. bestimmt schon mehrmals behandelt, leider konnte ich bisher aber keine Lösung finden.

Mit Tkinter erstelle ich ein Frame, in dem ich zuerst unten ein schmales Label über die ganze Breite erstelle, dann links und rechts je ein Label in denen Buttons platziert werden.
In die Mitte kommt ein weiteres Label, das ich als Listbox benutze.

Da meine Buttons links und rechts, je nach dem unterschiedlich breit sind, suche ich eine Möglichkeit, die Breite des Labels in der Mitte zu ermitteln.

Wie läßt die Breite eines dynamischen Labels ermitteln?
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@gaylordschuster: Wozu brauchst Du diese Information denn?

Und ich denke Du meinst nicht „Label“, denn da kann man keine Buttons drin platzieren und die kann man auch nicht als Listbox benutzen. Auch „schmales Label über die ganze Breite“ klingt komisch, selbst wenn da etwas anderes als Label stehen sollte.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Bibo3000
User
Beiträge: 30
Registriert: Mittwoch 5. Oktober 2022, 14:01

Hallo gaylordschuster,

wenn ich die Information, z.B. der Breite eines Widgets, brauchte, habe ich mir ein Textfeld, ein Button und eine Funktion erstellt.
Die Funktion lautet in etwa wie folgt und wird dem Button als command zugewiesen:

def Funktion
Textfeld.insert(str(Label.winfo_width()))

Die Funktionen winfo_ liefern informationen über Widgets. Durch das Einfügen in ein Textfeld kann man die Information anzeigen lassen.
Warum der Umweg mit dem Button?
Ich habe es mal ohne versucht und die Information direkt beim ausführen des Scripts in das Textfeld einfügen lassen. Das Problem war nur, dass ich in dem Fall kein richtiges Ergebnis bekommen habe.
Antworten