Ich möchte gerne nach dem Ändern meines Tk Windows eine Aktion ausführen. Ich konnte aber nach vielem Suchen und Ausprobieren nichts finden was es mir ermöglicht das zu tun.
Ich kann zwar mit
widget.bind('<Configure>', resizeAction)
Eine Aktion ausführen, das nützt mir aber soweit nix als dass ich das dann ständig machen müsste, da dann meine resizeAction ständig aufgerufen wird.
Weiss eventuell irgendjemand wie ich Tk dazu bringe mir ne Nachricht zu schicken nachdem der Resize Vorgang abgeschlossen ist?
Idealerweise wäre es ja wenn Tk den Mausklick auf den Window Rand weitergeben würde. Dann könnte ich einfach den ButtonRelease-1 abfragen. Leider wird dieser Event jedoch am Rand nicht weitergegeben.
Für jegliche Hilfe wäre ich überaus dankbar.
Resize event
Hallo haggi
Ich habe so etwas gefunden !
edit !
Die Lösung hatest du ja schon - habe es versucht mit einem Umweg zu lösen. Hilft dir eventuell !
gruß frank
Ich habe so etwas gefunden !
Code: Alles auswählen
import Tkinter as tk
def callback(event):
print 'Groesse geaendert'
fenster = tk.Tk()
fenster.bind("<Configure>", callback)
fenster.mainloop()
Die Lösung hatest du ja schon - habe es versucht mit einem Umweg zu lösen. Hilft dir eventuell !
Code: Alles auswählen
import Tkinter as tk
class Fenster(object):
def __init__(self):
self.weite = 108
self.hoehe = 200
self.gui()
def gui(self):
self.fenster = tk.Tk()
self.fenster.geometry('%dx%d' % (self.weite, self.hoehe))
self.fenster.bind("<Enter>", self.callback)
self.fenster.mainloop()
def callback(self, event):
weite_neu = self.fenster.winfo_width()
hoehe_neu = self.fenster.winfo_height()
if self.weite != weite_neu:
print 'weite geaendert'
self.weite = weite_neu
if self.hoehe != hoehe_neu:
print 'hoehe geaendert'
self.hoehe = hoehe_neu
Fenster()
Danke für den Tipp. Das hilft schon mal weiter.
Ich habs nun erst mal über <configure > gemacht, dann wird das nämlich schon ausgeführt wärend man das Fenster vergrössert. Dann wird das zwar recht oft aufgerufen, aber es klappt ohne grosse Probleme.
Ich habs nun erst mal über <configure > gemacht, dann wird das nämlich schon ausgeführt wärend man das Fenster vergrössert. Dann wird das zwar recht oft aufgerufen, aber es klappt ohne grosse Probleme.