Rozdział 18 · Narzędzia do rysowania

itemconfig, move, delete

Element Canvas nie musi być odtwarzany — można go modyfikować na miejscu.

Cztery sposoby odwołania się do już narysowanego

MetodaCo się zmienia
canvas.coords(id, ...)współrzędne elementu — kształt i położenie
canvas.itemconfig(id, ...)parametry wizualne — kolor, grubość, styl — bez zmiany kształtu
canvas.move(id, dx, dy)przesuwa pierwiastek o dx dy — zamiast ustalać absolutną pozycję
canvas.delete(id)trwałe usuwa pierwiastek
redaktirovanie.py
item_id = canvas.create_rectangle(10, 10, 80, 60, outline="black", width=2)

canvas.itemconfig(item_id, outline="blue", width=4)   # ten sam prostokąt, inny widok
canvas.move(item_id, 30, 0)                           # przesuń 30px w prawo
canvas.coords(item_id, 10, 10, 150, 100)               # zmieniać same granice
canvas.delete(item_id)                                # całkowicie usuń
move(id, dx, dy) jest przesunięciem, a nie współrzędną
canvas.move(item_id, 30, 0) oznacza „przesuń o 30 pikseli w prawo od obecnej pozycji”, a nie „umieść na x=30”. Wywołać move() dwa razy z rzędu z tymi samymi argumentami przesuwa element o łącznie 60 pikseli zamiast pozostawiać go na miejscu.

Wszystkie trzy sposoby są coords(), itemconfig(), move() — pracy i item_id, oraz Tegu (Rozdział 18.11): canvas.itemconfig("preview", ...) się zmieni wszystkie elementy z tym tagiem jednocześnie.

Praktyka: coords, itemconfig, move, delete
Moduł tkinter otwiera natywne okno Python — wykonaj lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie
Otwórz praktykę →