canvas.canvas_window-widget auslesen
Verfasst: Dienstag 7. Januar 2020, 16:07
ein erneutes hallo,
ich beschäftige mich mit dem canvas.create_window.
in dem wiederum spanne ich ein frame auf, in dem einige widgets enthalten sind.
das canvas.create_window ist doch ein direktes canvas-widget, das man auslesen kann!?
wie kann man denn beim drüberfahren mit der maus über eines der entries, die y-koordinate des betreffenden labels im canvas.create_window auslesen?
ps: ich hab es schon anders versucht zu lösen, was aber ziemlich kompliziert wird viewforum.php?f=18
freue mich über jede hilfe von euch.
ich beschäftige mich mit dem canvas.create_window.
in dem wiederum spanne ich ein frame auf, in dem einige widgets enthalten sind.
das canvas.create_window ist doch ein direktes canvas-widget, das man auslesen kann!?
Code: Alles auswählen
import tkinter as tk
class Demo(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.canvas = tk.Canvas()
self.canvas.pack(fill="both", expand=True)
f = tk.Frame(self.canvas)
self.container = self.canvas.create_window(100, 100, window=f, tags='container')
widget_text_lst = ['abc', 'def', 'ghi', 'jkl']
for text in widget_text_lst:
lb = tk.Label(f, text=text)
lb.pack()
e = tk.Entry(f, width=5)
e.pack()
e.bind("<Enter>", lambda event, label=lb: self.some_event_handler(label))
def some_event_handler(self, label):
label.configure(text="xyz")
print(self.canvas.bbox(label))
if __name__ == '__main__':
app = Demo()
app.mainloop()
ps: ich hab es schon anders versucht zu lösen, was aber ziemlich kompliziert wird viewforum.php?f=18
freue mich über jede hilfe von euch.