Seite 1 von 1

Löschen/ Ändern einer Instanz

Verfasst: Dienstag 3. November 2020, 16:53
von Kobra23759
Hallo,
1.) weiß jemand wie man im unteren Programm den Vektor b wieder löscht?
2.) kann man an einer vorhandenen Strecke (Vekor a) die Endpunktkoordinate nach dem Erstellen ändern?

Danke für die Hilfe


import tkinter as tk

class Vektor():
def __init__(self,canvas,x,y):
self.canvas=canvas
self.line=canvas.create_line(0,0,x,y)

root=tk.Tk()
canvas=tk.Canvas(root)
canvas.pack()
a=Vektor(canvas,50,50)
b=Vektor(canvas,40,120)
root.mainloop()

Re: Löschen/ Ändern einer Instanz

Verfasst: Dienstag 3. November 2020, 16:57
von Sirius3
canvas kennt delete und coords.

Re: Löschen/ Ändern einer Instanz

Verfasst: Dienstag 3. November 2020, 22:07
von Kobra23759
könntest du das etwas präzisieren

Re: Löschen/ Ändern einer Instanz

Verfasst: Mittwoch 4. November 2020, 00:19
von __deets__
canvas.delete(line)

Re: Löschen/ Ändern einer Instanz

Verfasst: Mittwoch 4. November 2020, 14:47
von Kobra23759
import tkinter as tk

class Vektor():
def __init__(self,canvas,x,y):
self.canvas=canvas
self.line=canvas.create_line(0,0,x,y)

root=tk.Tk()
canvas=tk.Canvas(root)
canvas.pack()
a=Vektor(canvas,50,50)
b=Vektor(canvas,40,120)

canvas.delete(b) <==

root.mainloop()

so funktioniert es nicht- Habt ihr noch eine konkrete Idee wie man die instanz "b" löschen, bzw mit coords verändern könnte?
Über eine Hilfe wäre ich sehr dankbar

Re: Löschen/ Ändern einer Instanz

Verfasst: Mittwoch 4. November 2020, 15:11
von __deets__
Der canvas weiß nix von deinen Vektoren. Der kennt nur seine Objekte. Du bekommst eine ID wenn du ein canvas Objekt erzeugst (in deinem Fall Self.line), und DIE musst du an canvas.delete übergeben.