Rozdział 18 · Narzędzia do rysowania
Nakładająca się kolejność
Później na szczycie trafia narysowany element – delikatnie Canvas mówiąc.
To, co jest rysowane później, jest na górze
Canvas elementy są przechowywane nie tylko jako lista, ale także w określonej KOLEJNOŚCI – tej, która w którym zostały stworzone. Jeśli dwa elementy nakładają się na siebie, to ten, który został stworzony, będzie górnym Później:
Ten porządek można zmienić wyraźnie – podnieść element wyżej lub obniżyć pozostałe:
poryadok_sloev.py
canvas.tag_raise(rect_id) # podnieść prostokąt NAD wszystkimi innymi
canvas.tag_lower(rect_id) # obniżyć prostokąt POD wszystkie pozostałe
canvas.tag_raise(rect_id, oval_id) # Podnieś prostokąt tylko POWYŻEJ konkretnego owalu
Mała wskazówka dotycząca warstw edytorów graficznych
Prawdziwi edytorzy graficzny budują na tym pomyśle cały system warstw — z ukrywaniem, blokowaniem i grupowaniem. Nie wdrażamy tu żadnej z tych zasad:
tag_raise/tag_lower jest tylko dowodem, że kolejność nakładek istnieje i można nią kontrolować, jeśli zajdzie taka potrzeba.Praktyka: Nakładająca się kolejność
Automatyczna weryfikacja — przewidujemy końcowy porządek po tag_raise/tag_lower