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)

Пример

В примере нажатие кнопки отобразит сообщение:

Пример

#!/usr/bin/python # -*- coding: UTF-8 -*- import Tkinter import tkMessageBox # -*- coding: cp936 -*- # Создать прямоугольник и указать цвет холста как белый from Tkinter import * root = Tk() # Создать Canvas и установить его цвет фона на белый cv = Canvas(root,bg = 'white') # Создать прямоугольник с координатами (10,10,110,110) cv.create_rectangle(10,10,110,110) cv.pack() root.mainloop() # Для наглядности установите цвет фона белым, чтобы отличать его от root top.mainloop()

Результат теста выглядит следующим образом:

Программирование GUI на Python

Другие расширения