Виджет, холст
tkinter.
Canvas
(**kwargs)Наследник Widget
, XView
, YView
master - родительский виджет
cnf - словарь
closeenough -
confine - булево, выключить скрол холста за пределы региона
height - int
, высота виджета
insertbackground -
insertborderwidth -
insertofftime -
insertontime -
insertwidth -
offset -
scrollregion - кортеж (w, n, e, s), что-то там с покруткой
selectbackground -
selectborderwidth -
selectforeground -
state -
width - int
, ширина виджета
xscrollcommand - обработчик горизонтальной прокрутки
xscrollincrement - величина горизонтальной прокрутки
yscrollcommand - обработчик вертикальной прокрутки
yscrollincrement - величина вертикальной прокрутки
canvas = Canvas(master)
# биндим проведение мышкой
canvas.bind("<B1-Motion>", lambda event: pass)
canvas.bind("<Double-1>", lambda event: pass)
canvas = Canvas(
master,
width=300,
height=300,
bg="white",
relief=SUNKEN,
)
# холст с прокруткой
canv = Canvas(master)
canv.config(width=300, height=200)
canv.config(scrollregion=(0,0,300, 1000))
canv.config(highlightthickness=0)
sbar = Scrollbar(master)
sbar.config(command=canv.yview)
canv.config(yscrollcommand=sbar.set)
addtag
(tag, method, *args)Добавляет тег элементам
tag - тег
above - выше
all - всем
below - ниже
closest - ближе
enclosed -
overlaping
withtag
addtag_above
(newtag, tagOrId)Добавляет новый тег элементу
addtag_all
(newtag)Добавляет новый тег всем элементам
addtag_below
(newtag, tagOrId)Добавляет новый тег элементу
addtag_closest
(newtag, x, y, halo=None, start=None)Добавляет новый тег элементу, который ближе к указанной точке
addtag_enclosed
(newtag, x1, y1, x2, y2)Добавляет тег элементам, в указанной области
addtag_overlapping
(self, newtag, x1, y1, x2, y2)Добавляет тег элементам, перекрывающих указанную область
addtag_withtag
(newtag, tagOrId)Добавляет тег элементу по его идентификатору или тегу
canvas.addtag_withtag("three", "one")
bbox
(*args)Возвращает координаты прямоугльника, в которой находятся указанные объекты холста
head = canvas.find_withtag("head")
x1, y1, x2, y2 = canvas.bbox(head)
canvasx
(screenx, gridspacing=None)Возвращает координату на канвасе по координате экрана
canvasy
(screeny, gridspacing=None)Возвращает координату на канвасе по координате экрана
coords
(*args)Возвращает область, в которой находятся указанные объекты
create_arc
(*args, **kwargs)Рисует круг, вписанную в прямоугольник, и возвращает его идентификатор
activedash
activefill
activeoutline
activeoutlinestipple
activestipple
activewidth
dash
dashoffset
disableddash
disabledfill
disabledoutline
disabledoutlinestipple
disabledstipple
disabledwidth
extent - число, угол, величина рисуемой окружности
fill - строка, цвет заполнения
offset
outline - цвет контура
outlineoffset
outlinestipple
start - число, угол, начало рисования
state
stipple
style
tag - название объекта
tags
width - ширина контура
create_bitmap
(*args, **kwargs)activebackground -
activebitmap -
activeforeground -
anchor -
background -
bitmap -
disabledbackground -
disabledbitmap -
disabledforeground -
foreground -
state -
tags -
create_image
(h, w, **kwargs)Рисует изображение и возвращает его идентификатор
activeimage
anchor - NW
disabledimage
image - Image
, рисунок
state
tags
image_id = canvas.create_image(
height,
width,
image=PhotoImage(),
anchor=NW,
)
create_line
(x1, y1, x2, y2, ..., x-n, y-n, **kwargs)Рисует линию и возвращает его идентификатор
activedash
activefill
activestipple
activewidth
arrow
arrowshape
capstyle
dash - для рисования штрихами, длина пунктира и пропуска, например (4, 2)
dashoffset
disableddash
disabledfill
disabledstipple
disabledwidth
fill - цвет линии
joinstyle
offset
smooth
splinesteps
state
stipple
tags - задает тег для элемента
width - ширина линии
line_id = canvas.create_line(
x1,
y1,
x2,
y2,
tags="uno",
fill="green",
width=10,
)
create_oval
(x1, y1, x2, y2, **kwargs)Рисует овал и возвращает идентификатор
activedash
activefill
activeoutline
activeoutlinestipple
activestipple
activewidth
dash
dashoffset
disableddash
disabledfill
disabledoutline
disabledoutlinestipple
disabledstipple
disabledwidth
fill - цвет заливки
offset
outline - цвет контура
outlineoffset
outlinestipple
state
stipple
tags
width - ширина границы
oval_id = canvas.create_oval(
x1,
y1,
x2,
y2,
fill="red",
width=2,
)
create_polygon
(x1, y1, x2, y2, ..., x-n, y-n, **kwargs)Рисуем замкнутый контур и возвращает его идентификатор
activedash
activefill
activeoutline
activeoutlinestipple
activestipple
activewidth
dash
dashoffset
disableddash
disabledfill
disabledoutline
disabledoutlinestipple
disabledstipple
disabledwidth
fill - цвет заливки
joinstyle
offset
outline - цвет линии
outlineoffset
outlinestipple
points - список точек
smooth
splinesteps
state
stipple
tags
width - высота линии
create_rectangle
(x1, y1, x2, y2, **kwargs)Рисует многоугольник и возвращает его идентификатор
activedash
activefill
activeoutline
activeoutlinestipple
activestipple
activewidth
dash
dashoffset
disableddash
disabledfill
disabledoutline
disabledoutlinestipple
disabledstipple
disabledwidth
fill - цвет заливки
offset
outline - цвет контурв
outlineoffset
outlinestipple
state
stipple
tags
width - ширина границ
rectangle_id = canvas.create_rectangle(
x1,
y1,
x2,
y2,
width=5,
fill="red",
)
create_text
(x, y, **kwargs)Рисует текст и возвращает его идентификатор
activefill
activestipple
anchor - W
disabledfill
disabledstipple
fill
font - Purisa
justify
offset
state
stipple
tags
text - текст
width
text_id = canvas.create_text(
x,
y,
text="Some text",
)
create_window
(x, y, window)Рисует виджет на холсте и возвращает id
anchor
height
state
tags
width
window
canvas.create_window(x, y, widget)
dchars
(item, from, to=None)Удаляет текст из элемента
delete
(**kwargs)Удаляет объекты с холста
apple = canvas.find_withtag('apple')
canvas.delete(apple[0])
dtag
(item, tag=None)find_above
(item)find_all
()find_below
(item)find_closest
(x, y, halo=None, start=None)find_enclosed
(x1, y1, x2, y2)find_overlapping
(x1, y1, x2, y2)Возвращает все объекты, которые находятся в указанной области
find_withtag
(tagOrId)Возвращает список объектов холста, соответсвующих указанному тегу или идентификатору
canvas.find_withtag('one')
# (1, )
focus
(item=None)Возвращает теги элементов
canvas.gettags(item)
# ('one', 'two', 'three')
icursor
(item, index)index
(item, index)insert
(item, index, text)Добавляет текст в редактируемый элемент
itemconfig
(id, **kwargs)itemconfigure
(id, **kwargs)Конфигурирует объект рисования
tags - изменяет теги объекта
canvas.itemconfig(item, tags=("one", "two"))
itemcget
(tagOrId, option)Возвращает значение свойства элемента
lift
()tkraise
()tag_raise
()Поднимает объект относительно других
lower
()tag_lower
()Опускает объект относитльно других
move
(tag, x, y)Сдвигает объекты
postscript
(*args)scale
(tagOrId, xscale, yscale, xoffset, yoffset)Изменяет размер элемента
scan_dragto
(x, y, gain=10)scan_mark
(x, y)select_adjust
(tagOrId, index)select_clear
()select_from
(tagOrId, index)select_item
()select_to
(tagOrId, index)tag_bind
(tagOrId, sequence=None, func=None, add=None)Связываем обработчик с событиями элемента
canvas.tag_bind(obj_id, "<Double-1>", lambda event: pass)
tag_unbind
(tagOrId, sequence, funcid=None)type
(tagOrId)