From b281d61fb5881eac7a7f437ada1ff4649e915276 Mon Sep 17 00:00:00 2001 From: Martin Putzlocher Date: Tue, 19 Apr 2022 22:40:06 +0200 Subject: [PATCH] Kleine Erweiterung des Canvas-Beispiels --- tk_canvas/my_canvas.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tk_canvas/my_canvas.py b/tk_canvas/my_canvas.py index beaf153..d145946 100644 --- a/tk_canvas/my_canvas.py +++ b/tk_canvas/my_canvas.py @@ -13,7 +13,7 @@ class Controller(object): print("Run") self.app.main_canvas.bind('<1>', self.make_circle) self.app.main_canvas.bind('<3>', self.select_item) - self.app.main_canvas.bind('', self.select_for_line) + self.app.main_canvas.bind('', self.select_for_line) return 0 def make_circle(self, event): @@ -39,8 +39,19 @@ class Controller(object): self.app.main_canvas.coords("selected",x-r, y-r, x+r, y+r) def select_for_line(self, event): - pass + self.app.main_canvas.addtag_withtag("sel_line", tk.CURRENT) + start_coords = self.app.main_canvas.coords("sel_line") + self.x0 = (start_coords[0] + start_coords[2]) // 2 + self.y0 = (start_coords[1] + start_coords[3]) // 2 + x = event.x + y = event.y + self.app.main_canvas.create_line(self.x0,self.y0,x,y, tag="newline") + self.app.main_canvas.bind('', self.move_line) + def move_line(self, event): + x = event.x + y = event.y + self.app.main_canvas.coords("newline",self.x0,self.y0,x,y) class Application(tk.Tk): def __init__(self):