ich versuche ein Programm zu schreiben das nach "Button" befehlen verschiedene Geometrische 2D Köper in einer Canvas angezeigt.(Das bekomme ich auch soweit hin.)
Die dann aber über events (Mausklick in der Canvas) in ihrer Form z.b Größe verändert werden.
Das folgende Beispiel hat erstmal nur Zwei Button Kreis und Rechteck.
Jetzt weiß ich nicht wie ich es programmieren kann das die Events (Mausklick) immer nur auf den zuletzt ausgelöste Button reagieren.
In meinem Beispiel mit "#" gekennzeichnet würd dann natürlich immer ein Kreis erscheinen nach auslösen des events(Mausklick).
Hätte aber gerne das sowohl der Kreis als auch das Rechteck über events verändert werden kann.
Code: Alles auswählen
from tkinter import Tk, Canvas, Entry, Label, Button, messagebox
def Rechteck(x1=150,y1=150,x2=300,y2=300):
C.delete(*C.find_all())
C.create_rectangle(x1,y1,x2,y2,width=20, fill="white")
def Kreis(x1=150,y1=150,x2=300,y2=300):
C.delete(*C.find_all())
C.create_oval(x1,y1,x2,y2,width=20,fill="white")
def Mausklick(event):
Rechteck(x1=event.x, y1=event.y)
#Kreis(x1=event.x, y1=event.y)
H = Tk()
H.title("Einfeldträger mit Streckenlast")
C = Canvas(H, width=400, height=500,bg="red")
C.grid(row=0, column=2, columnspan=2)
C.bind("<Button-1>",Mausklick)
B = Button(text="Rechteck",command=Rechteck)
B.grid(row=0, column=3, sticky="ne")
B = Button(text="Kreis",command=Kreis)
B.grid(row=0, column=3, sticky="e")
H.update()
H.mainloop()