Python Tkinter Canvas
Программирование GUI на Python
Виджет Canvas в Python Tkinter похож на canvas в HTML5; он используется для рисования. На canvas можно размещать графику, текст, виджеты или фреймы.
Синтаксис
Формат синтаксиса следующий:
w = Canvas ( master, option=value, ... )
master: родительский контейнер кнопки.
options: необязательные элементы, т.е. настраиваемые свойства кнопки. Эти параметры можно задавать в виде key = value, разделяя запятыми.
| Нет. | Опция и описание |
|---|---|
| 1 | bd Ширина границы в пикселях, по умолчанию 2 пикселя. |
| 2 | bg Цвет фона |
| 3 | confine Если true (по умолчанию), canvas нельзя прокручивать за пределы прокручиваемой области. |
| 4 | cursor Настройка формы курсора, например arrow, circle, cross, plus и т. д. |
| 5 | height Height |
| 6 | highlightcolor Цвет для подсветки |
| 7 | relief Стиль границы, возможные значения: FLAT, SUNKEN, RAISED, GROOVE, RIDGE. По умолчанию FLAT. |
| 8 | scrollregion Кортеж (w, n, e, s), задающий максимальную прокручиваемую область canvas, где w — левая сторона, n — верхняя, e — правая, а s — нижняя. |
| 9 | width Размер canvas по оси X. |
| 10 | xscrollincrement Значение, используемое для запросов на горизонтальную прокрутку. |
| 11 | xscrollcommand Горизонтальная полоса прокрутки; если холст можно прокручивать, этот атрибут — метод .set() горизонтальной полосы прокрутки. |
| 12 | yscrollincrement Аналогично xscrollincrement, но в вертикальном направлении. |
| 13 | yscrollcommand Вертикальная полоса прокрутки; если холст можно прокручивать, этот атрибут — метод .set() вертикальной полосы прокрутки. |
Виджет Canvas поддерживает следующие стандартные параметры:
arc − Создать дугу
coord = 10, 50, 240, 210 arc = canvas.create_arc(coord, start=0, extent=150, fill="blue")
image − Создать изображение
filename = PhotoImage(file = "sunshine.gif") image = canvas.create_image(50, 50, anchor=NE, image=filename)
line − Создать линию
line = canvas.create_line(x0, y0, x1, y1, ..., xn, yn, options)
oval − Создать овал
oval = canvas.create_oval(x0, y0, x1, y1, options)
polygon − Создать многоугольник с как минимум тремя вершинами
oval = canvas.create_polygon(x0, y0, x1, y1,...xn, yn, options)
Пример
В примере нажатие кнопки отобразит сообщение:
Пример
Результат теста выглядит следующим образом:
Другие расширения