Stronę tą wyświetlono już: 9791 razy
Metody dodające obiekty graficzne do Canvas-u
Kontrolka Canvas udostępnia następujący zestaw metod, umożliwiających dodawanie obiektów graficznych, które będą rysowane:
create_arc - rysowanie łuku, przykład:
arc_id = canvas.create_arc((0, 0, 50, 25), start = 20, extend = 30, style = tk.ARC)gdzie:
- (0, 0, 50, 25) - krotka opisująca prostokąt, w którym pełna elipsa się mieści;
- start - kąt początkowy podany w stopniach;
- extend - kąt rysowanego łuku;
- style - sposób rysowania: PIESLICE - jako wyciek, CHORD - ścinek lub ARC - łuk. Domyślna wartość to PIESLICE.
create_bitmap - dodaje dwukolorową (monochromatyczną) bitmapę;
create_image - dodaje obraz rysowany na canvas-ie, przykład:
img = tk.PhotoImage(file = "file.gif") image_id = canvas.create_image((0, 0), image = img)gdzie:
- (0, 0) - współrzędne punktu zaczepienia bitmapy;
- image - obiekt typu BitmapImage lub PhotoImage
create_line - rysowanie linii, przykład:
line_id = canvas.create_line((10, 20, 100, 200), fill = "#ff0000", width = 10)gdzie:
- (10, 20, 100, 200) - współrzędne początku i końca linii;
- fill - kolor linii;
- width - grubość linii w px
create_oval - tworzy elipsę lub koło, przykład:
ellipse_id = canvas.create_oval((0, 0, 50, 25), fill = "#ff0000", outline = "#00ff00", width = 2)gdzie:
- (0, 0, 50, 25) - współrzędne lewego górnego i prawego dolnego wierzchołka prostokąta, w który elipsa jest wpisana;
- fill - kolor wypełnienia;
- outline - kolor linii obramowania;
- width - grubość linii obramowania
create_polygon - tworzy wielokąt, przykład:
polygon_id = canvas.create_polygon((0, 0, 10, 0, 0, 10), fill = "#ff0000", outline = "#00ff00", width = 2)gdzie:
- (0, 0, 10, 0, 0, 10) - współrzędne wierzchołków wielokąta;
- fill - kolor wypełnienia wielokąta;
- outline - kolor linii obramowania wielokąta;
- width - grubość linii obramowania
create_rectangle - tworzy prostokąt, przykład:
rectangle_id = canvas.create_rectangle((0, 0, 10, 0, 0, 10), fill = "#ff0000", outline = "#00ff00", width = 2)gdzie:
- (0, 0, 50, 25) - współrzędne lewego górnego i prawego dolnego wierzchołka prostokąta;
- fill - kolor wypełnienia;
- outline - kolor linii obramowania;
- width - grubość linii obramowania
create_text - tworzy obiekt tekstowy, przykład:
text_id = canvas.create_text((50, 50), text = "tekst do wypisania", anchor = tk.N, fill = "#ff0000", font = ("Times new roman", 20))gdzie:
- (50, 50) - współrzędne kotwicy tekstu;
- anchor - steruje położeniem tekstu względem kotwicy (punktu jego zaczepienia). Dostępne opcje to CENTER (domyślne); N (north); NW (north-west); SW (south-west); S (south); SE (south-east) lub NE (north-east);
- fill - kolor czcionki;
- font - krotka opisująca czcionkę i jej rozmiar;
Dostęp do obiektów canvas-u
Każda z wyżej wymienionych metod zwraca identyfikator obiektu, po którym można się do niego odwoływać.
Pozyskiwanie i modyfikowanie informacji o koordynatach (współrzędnych) opisujących dany obiekt
W celu dorwania się do danych opisujących dany obiekt należy posłużyć się metodą coords, która przyjmuje jeden obowiązkowy argument będący identyfikatorem danego obiektu. Gdy jako drugi argument tej funkcji nie zostanie podana lista opisująca nowe koordynaty, metoda ta zwraca bieżące koordynaty obiektu:
Dostęp i zmiana właściwości obiektu
Każdy obiekt ma swoje właściwości, które są ustawiane w trakcie ich tworzenia. Dzięki metodzie itemconfig można uzyskać dostęp do słownika zawierającego wszystkie opcje, lub zmienić ustawienia wybranej opcji. Oto przykład:
Usuwanie obiektu z canvas-u za pomocą metody delete
Usuwanie wszystkich elementów dodanych do canvasu:
Usunięcie danego obiektu wymaga podanie na wejście identyfikatora obiektu:
Pobieranie listy elementów
Pobieranie listy wszystkich elementów dodanych do canvasu za pomocą metody find_all
Pobieranie identyfikatora obiektu znajdującego się najbliżej danego punktu za pomocą metody find_closest
Metoda ta zwraca krotkę, zawierającą identyfikator najbliżej znajdującego się obiektu. Jeżeli na canvas-ie nie ma obiektów będzie błąd.