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
| Metoda | Co 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