Rozdział 18 · Projekt: Aplikacja do rysowania

Kwadraty i prostokąty! Okręgi i owale!

Canvas potrafi rysować gotowe figury po dwóch kątach — nie tylko linie.

Prostokąty i owale rysowane są podobnie — Canvas potrafi budować je od razu z dwóch przeciwległych narożników, bez ręcznego obliczania boków:

pryamougolniki_ovaly.py
def vo_vremya_risovaniya(event):
    if tekuschaya_figura == "pryamougolnik":
        canvas.create_rectangle(
            start_x, start_y, event.x, event.y,
            outline=tekuschij_cvet, width=tolschina,
        )
    elif tekuschaya_figura == "oval":
        canvas.create_oval(
            start_x, start_y, event.x, event.y,
            outline=tekuschij_cvet, width=tolschina,
        )
Real Window: Prostokąt narysowany między punktem kliknięcia a punktem zwolnienia
Rzeczywiste okno: create_rectangle() w dwóch przeciwnych rogach.
Prawdziwe okno: Owal wyryty w obszarze między punktem ciśnienia a punktem uwolnienia
Prawdziwe okno: create_oval() na tych samych dwóch rogach – więcej o tym w sekcji 18.17.
Liczby pośrednie się mnożą
Jeśli rysujesz jak powyżej, każdy ruch myszy tworzy nowe kształt na poprzednim, zamiast taki, który rośnie wraz z ruchem. W pełnym programie (Rozdział 18.7) problem ten zostaje rozwiązany: poprzedni „przybliżony” coords()zamiast go odtwarzać.
Praktyka: prostokąty i owale
Moduł tkinter otwiera natywne okno Python — wykonaj lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie
Otwórz praktykę →