Hallo Python Freunde!
Ich habe wieder einmal ein Frage. Wie kann
ich die wahren Werte für 'height' und 'width'
eines Tkinter-Canvas-Widgets, welches sich
dynamisch einem Fenster anpasst zurücklesen.
Also bei diesem Canvas-Widget sind die Optionen
für die pack Methode wie folgt gesetzt:
fill = BOTH
expand = TRUE
Für die Erzeugung des Widgets werden keine
Werte für die Optionen 'height' und 'width'
vorgegeben!
Folgende Tests mit der print-Anweisung für die
Abmessungen der Canvas ergeben nur unwahre Werte:
print canvas['height']
print canvas['width']
print canvas.cget('height')
print canvas.cget('width')
Wird das Widget mit festen Werten für die
Optionen 'width' und 'height' erzeugt, und
für dessen pack-Methode keine Optionen ge-
setzt, werden die wahren Werte zurückgegeben.
Gibt es eine Lösung für das erwähnte Problem?
Gruss wuf
Wahre Widgetabmessungen zurücklesen
Hallo!
Die Optionen 'height' und 'width' enthalten nur 'Wunschwerte' für den Programmstart und verändern sich nicht durch Größenänderung zur Laufzeit. Ich vermute mal, dass Du mit winfo_height()/-_width() eher zum Ziel kommst.
Jan
Die Optionen 'height' und 'width' enthalten nur 'Wunschwerte' für den Programmstart und verändern sich nicht durch Größenänderung zur Laufzeit. Ich vermute mal, dass Du mit winfo_height()/-_width() eher zum Ziel kommst.
Jan
Hallo Voges
Dein Tipp war ein Volltreffer. Heureka es
funktioniert!! Ich habe gewusst, dass es die
Methoden wie winfo_width() und winfo_height()
gibt, aber ich dachte diese können nur auf
das Tk-Hauptfenster bzw. ein Toplevelfenster
angewendet werden und nich auf Widgets. Bei
meiner Anwendung brauche ich die aktuellen
Abmessungen einer Canvasfläche um Grafische-
Objekte die sich auf diese Fläche befinden,
nach einer dynamischen Änderung neu zu platz-
ieren.
In diesem Zusammenhang habe ich noch folgende
Frage:
Ist der Canvas-Event
canvas.bind("<Conigure>" , meine Funktion)
der richtige um die Funktion für die Neuplatz-
ierung der Objekt auf der Canvasfläche aufzurufen?
Vielen Dank für deine motivierende Antwort Voges!
Gruss wuf
Dein Tipp war ein Volltreffer. Heureka es
funktioniert!! Ich habe gewusst, dass es die
Methoden wie winfo_width() und winfo_height()
gibt, aber ich dachte diese können nur auf
das Tk-Hauptfenster bzw. ein Toplevelfenster
angewendet werden und nich auf Widgets. Bei
meiner Anwendung brauche ich die aktuellen
Abmessungen einer Canvasfläche um Grafische-
Objekte die sich auf diese Fläche befinden,
nach einer dynamischen Änderung neu zu platz-
ieren.
In diesem Zusammenhang habe ich noch folgende
Frage:
Ist der Canvas-Event
canvas.bind("<Conigure>" , meine Funktion)
der richtige um die Funktion für die Neuplatz-
ierung der Objekt auf der Canvasfläche aufzurufen?
Vielen Dank für deine motivierende Antwort Voges!
Gruss wuf
Take it easy Mates!