Canvas¶
Виджет, холст
- class
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 - тег
- method - способ добавления
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)¶