Úvod do Tkinter - Okna pro jazyk Python - Postavené na základech An Introduction to Tkinter

Tkinter - udělátko Canvas

Udělátko Canvas (plátno) poskytuje strukturovanou grafiku pro Tkinter. Jedná se o všestranně využitelný widget, který se dá použít na kreslení grafů a rysů a na implementaci nejrůznějších uživatelských udělátek.

Kdy udělátko Canvas použít

Canvas je všestranným udělátkem, který se běžně používá na zobrazování a editaci grafů a jiných kreseb.

Další běžné užití tohoto udělátka je možnost implementace nejrůznějších typů vlastních udělátek. Například pomocí něho můžete sestavit "teploměr" - grafický ukazatel průběhu (procenta) nějaké činnosti a to tak, že vykreslujete na plátno čtverečky.

Příklady

Metodu create používejte, chcete-li přidat (nakreslit) na plátno nové prvky (items).

from Tkinter import *

hlavni = Tk()

w = Canvas(hlavni, width=200, height=100)
w.pack()

w.create_line(0, 0, 200, 100)
w.create_line(0, 100, 200, 0, fill="red", dash=(4, 4))
w.create_rectangle(50, 25, 150, 75, fill="blue")

mainloop()
canvas

Mějte na paměti, že prvky přidané na plátno tam zůstávají, dokud je neodstraníte (tedy podobně jako u vektorové grafiky - pokud přemaluji přes čtverec jiný čtverec, původní čtverec se překryje, ale nesmaže).

Pokud chcete kresbu změnit, můžete použít metody na změnu prvků jako např. coords (coordinates = souřadnice), itemconfig (item = prvek, config= změna) a move (přesun) nebo na smazání metodu delete (smazat).

i = w.create_line(xy, fill="red")

w.coords(i, new_xy) # změnit souřadnice
w.itemconfig(i, fill="blue") # změnit barvu
w.delete(i) # smazat
w.delete(ALL) # smazat vše

Pojetí (Patterns)

Při kreslení na plátně vytváříte jeden nebo více prvků, které jsou umísťovány na sebe. Standardně jsou nové prvky umísťovány nahoru nad všechny současné prvky na plátně.

Tkinter poskytuje mnoho metod umožňujících manipulaci s prvky. Vedle jiných možností můžete svázat (bind) jednotlivé prvky plátna s voláním funkce přes události.

Prvky plátna (Canvas items)

Udělátko Canvas standardně poskytuje následující prvky:

Tětivy, výseče, ovály, mnohoúhelníky a čtverce se skládají z hraniční čáry a vnitřní plochy. Kterákoliv z nich nebo obě současně mohou být průhledné.

Prvek window se používá na vkládání kterýchkoliv udělátek Tkinter na plátno. V těchto případech Canvas funguje jednoduše jako geometry manager (správce poskládání).

Můžete si také napsat své vlastní prvky v C nebo C++ a zapojit je do Tkinter pomocí Python extension modules.

Systém souřadnic (Coordinate Systems)

Udělátko Canvas používá dva systémy souřadnic; systém souřadnic okna (s (0,0) v levém horním rohu) a systém souřadnic plátna, který určuje, kde jsou kresleny prvky na plátně. Při posunování (scrolling) plátna pomocí posuvníků můžete stanovit, který část systému souřadnic plátna zobrazit v okně.

Volba scrollregion se používá k omezení operací posunu plátna. Obvykle se to dělá takto:

 platno.config(scrollregion=canvas.bbox(ALL))

Chcete-li změnit souřadnice okna na souřadnice plátna používejte metody canvasx a canvasy:

def volanafunkce(udalost):
   platno = udalost.widget
   x = platno.canvasx(udalost.x)
   y = platno.canvasx(udalost.y)
   print udalost.x, udalost.y # souradnice plochy
   print x, y # souradnice platna
   print platno.find_closest(x, y) #nejblizsi prvek na platne

Identifikátory prvku: Ovladače a Tagy (Item Specifiers: Handles and Tags)

Udělátko Canvas vám umožňuje se odkazovat na prvky několika způsoby. Všude, kde se očekává určení prvku, můžete použít jedno z následujícího:

Ovladače prvku jsou celá čísla, která se používají na určení konkrétního prvku na plátně. Jsou to defakto proměnné, které získáváte při vytvoření. V proměnné 'prvek' bude právě 'ovladač prvku', 'celé číslo', které Tkinter každému prvku přiřadí:

prvek = platno.create_line(0, 0, 100, 100)
          
Ovladače se mohou předávat mnoha metodám plátna jako čísla nebo řetězce.

Tagy jsou symbolická jména připojená k prvkům. Tagy jsou řetězce a mohou obsahovat cokoliv kromě bílých mezer (obyčejné mezery, tabulátory, entery).

Prvky mohou mít žádný, jeden nebo více tagů. Stejný tag se může použít pro více než jeden prvek. Udělátko Canvas však, narozdíl od udělátka Text, neumožňuje vytvářet vazby nebo jakkoliv měnit tagy, které nemají živé prvky. Tagy jsou vlastněny prvky a ne Canvasem.

Tagy můžete zadávat pomocí parametrů při vytváření prvku, nastavovat je pomocí metody itemconfig nebo je přidávat pomocí metody addtag_withtag. Parametr tags je možné zadávat jako normální řetězec nebo jako n-tici řetězců.

prvek = platno.create_line(0, 0, 100, 100, tags="uno")
platno.itemconfig(prvek, tags=("jedna", "dva"))
platno.addtag_withtag("tri", "jedna")

Použijte gettags, chcete-li dostat všechny tagy, které jsou spojeny s určitým prvkem. Chcete-li dostat všechny ovladače, které mají určitý tag, použijte find_withtag.

>>> print platno.gettags(prvek)
('jedna', 'dva', 'tri')
>>> print platno.find_withtag("jedna")
(1,)

Udělátko Canvas poskytuje také dva přednastavené tagy:

ALL (nebo řetězec "all") zahrnuje všechny prvky na plátně.

CURRENT (nebo "current") zahrnuje prvek pod kurzorem myši, pokud nějaký takový je. Tohoto se dá využít uvnitř vazby události myši při odkazu na prvek, který volanou funkci vyvolal.

Tisk

Toto udělátko podporuje tisk na postscriptové tiskárny.

Implementační záležitosti (Performance Issues)

The Canvas widget implements a straight-forward damage/repair display model. Changes to the canvas, and external events such as Expose, are all treated as "damage" to the screen. The widget maintains a dirty rectangle to keep track of the damaged area.

When the first damage event arrives, the canvas registers an idle task (using after_idle) which is used to "repair" the canvas when the program gets back to the Tkinter main loop. You can force updates by calling the update_idletasks method.

When it's time to redraw the canvas, the widget starts by allocating a pixmap (on X windows, this is an image memory stored on the display) with the same size as the dirty rectangle.

It then loops over the canvas items, and redraws all items for which the bounding box touch the dirty rectangle (this means that diagonal lines may be redrawn also if they don't actually cover the rectangle, but this is usually no big deal).

Finally, the widget copies the pixmap to the display, and releases the pixmap. The copy operation is a very fast operation on most modern hardware.

Since the canvas uses a single dirty rectangle, you can sometimes get better performance by forcing updates. For example, if you're changing things in different parts of the canvas without returning to the main loop, adding explicit calls to update_idletasks() allows the canvas to update a few small rectangles, instead of a large one with many more objects.

Referenční příručka (Reference)

Canvas(master=None, **parametry) (třída) [#]

Strukturované grafické plátno.

master
Rodičovské udělátko.
**parametry
parametry udělátka. Hledejte metodu config, kde získáte seznam dostupných parametrů.
addtag(tag, metoda, *parametry) [#]

Přidává tag pro určené prvky. Aplikace by měli využívat specifičtější metody, když je to možné. To je např. používat metodu addtag_above místo addtag("above"), a tak podobně.

tag
Tag, který se má přidat.
metoda
Jak přidat nový tag. Může nabývat následujících hodnot: "above", "all", "below", "closest", "enclosed", "overlapping" nebo "withtag".
*parametry
Volitelné parametry. Bližší detaily najdete u jednotlivých metod.
addtag_above(tag, prvek) [#]

Přidává tag k prvku, který leží nad daným prvkem.

tag
Prvek, který se má přidat..
prvek
Tag nebo identifikátor příslušného prvku.
addtag_all(tag) [#]

Přidává tag ke všem prvkům na plátně. Jedná se o zkrácenou verzi addtag_withtag(newtag, ALL).

tag
Prvek, který se má přidat.
addtag_below(tag, prvek) [#]

Přidává tag k prvku, který je pod daným prvkem.

tag
Prvek, který se má přidat.
prvek
Tag nebo identifikátor příslušného prvku.
addtag_closest(tag, x, y, halo=None, start=None) [#]

Přidá tag k prvku nejbližšímu k daným souřadnicím. Pozice je zadávána v souřadnicích plátna. Tato metoda uspěje vždy, pokud je na plátně nejméně jeden prvek. Chcete-li přidat tagy prvkům, které se nalézají v určité vzdálenosti od pozice, použijte add_overlapping s malým čtvercem vystředěným na pozici.

tag
Prvek, který se má přidat.
x
Vodorovná souřadnice.
y
Svislá souřadnice.
halo
Nepovinná vzdálenost halo.
start
Nepovinný počáteční prvek.
addtag_enclosed(tag, x1, y1, x2, y2) [#]

Přidá tag ke všem prvkům, které jsou uzavřeny v zadaném čtverci.

tag
Prvek, který se má přidat.
x1
Levá souřadnice.
y1
Horní souřadnice.
x2
Pravá souřadnice.
y2
Dolní souřadnice.
addtag_overlapped(tag, x1, y1, x2, y2) [#]

Přidá tag ke všem prvkům, které překrývají daný obdélník. To zahrnuje i prvky, které jsou v něm zcela uzavřeny.

tag
Prvek, který se má přidat.
x1
Levá souřadnice.
y1
Horní souřadnice.
x2
Pravá souřadnice.
y2
Dolní souřadnice.
addtag_withtag(tag, prvek) [#]

Přidá tag ke všem prvkům, které mají daný tag.

tag
Prvek, který se má přidat.
prvek
Odkaz na prvek. Pokud je odkaz ve formě tagu, přidá se nový tag ke všem prvkům, obsahujícím daný tag. Pokud je odkaz ve formě identifikátoru, přidá se nový tag pouze k tomu určenému jedinému prvku.
bbox(prvek=None) [#]

Vrací ohraničující obdélník, který zahrnuje všechny dané prvky. Pokud je prvek vynechán, navrácený obdélník zahrnuje všechny prvky. Ohraničující obdélník je přibližný a může se o pár pixelů lišit od skutečnosti.

prvek
Identifikátor prvku. Pokud je vynechán, navrácený obdélník zahrnuje všechny prvky na plátně.
Vrací:
Ohraničující obdélník jako 4-místná n-tice.
canvasx(x, gridspacing=None) [#]

Převádí okenní souřadnice na souřadnice plátna.

x
Souřadnice okna.
gridspacing
Volitelná mezera v mřížce. Souřadnice je zaokrouhlena na nejbližší souřadnici mřížky.
Vrací:
Souřadnice plátna.
canvasy(y, gridspacing=None) [#]

Převádí okenní souřadnice na souřadnice plátna.

y
Souřadnice okna.
gridspacing
Volitelná mezera v mřížce. Souřadnice je zaokrouhlena na nejbližší souřadnici mřížky.
Vrací:
Souřadnice plátna.
config(**parametry) [#]

Upravuje jeden nebo více parametrů udělátka Canvas. Pokud nejsou zadány žádné parametry, metoda vrací slovník, který obsahuje všechny současné hodnoty parametrů.

**parametry
Parametry udělátka.
background=
Barva pozadí plátna. Defaultně je nastavena standardní barva pozadí udělátka. (databázové jméno je background, třída je Background)
bg=
Stejné jako background.
borderwidth=
Šířka okraje plátna. Standardně je 0 (žádný okraj). (borderWidth/BorderWidth)
bd=
Stejné jako borderwidth.
closeenough=
Standardní hodnota je 1. (closeEnough/CloseEnough)
confine=
Standardní hodnota je 1. (confine/Confine)
cursor=
Jaký se použije kurzor, když se myš bude pohybovat nad plátnem. (cursor/Cursor)
height=
Výška plátna. Standardní hodnota je '7c'. (height/Height)
highlightbackground=
Jaká barva se použije na zvýraznění okraje, když plátno nebude mít focus. Standardní nastavení záleží na systému. (highlightBackground/HighlightBackground)
highlightcolor=
Jaká barva se použije na zvýraznění okraje, když plátno bude mít focus. Standardní nastavení záleží na systému. (highlightColor/HighlightColor)
highlightthickness=
Šířka zvýrazněného okraje. Standardní nastavení záleží na systému (obvykle jeden nebo dva pixely). (highlightThickness/HighlightThickness)
insertbackground=
Jaká barva se použije na textový vkládací kurzor. Standardní nastavení záleží na systému. (insertBackground/Foreground)
insertborderwidth=
Šířka okraje textového vkládacího kurzoru. Kurzor bude vykreslen stylem okraje RAISED, bude-li šířka nenulová. (insertBorderWidth/BorderWidth)
insertofftime=
Společně s insertontime tento parametr řídí blikání kurzoru. Obě dvě hodnoty jsou zadávány s milisekundách. (insertOffTime/OffTime)
insertontime=
Viz insertofftime. (insertOnTime/OnTime)
insertwidth=
Šířka textového vkládacího kurzoru. Obvykle jeden až dva pixely. (insertWidth/InsertWidth)
offset=
Standardní hodnota je '0,0'. (offset/Offset)
relief=
Styl okraje. Standardně FLAT (PLOCHÝ). Další možnosti jsou SUNKEN (PROPADLÝ), RAISED (VYVÝŠENÝ), GROOVE (DLAŽDICE) a RIDGE (MÍRNĚ PROPADLÝ). (relief/Relief)
scrollregion=
Rolovací oblast plátna. Žádná standardní hodnota. (scrollRegion/ScrollRegion)
selectbackground=
Barva pozadí při označení (výběru). Standardní nastavení záleží na systému a monitoru. (selectBackground/Foreground)
selectborderwidth=
Barva okraje při označení (výběru). Standardní nastavení záleží na systému. (selectBorderWidth/BorderWidth)
selectforeground=
Barva textu při označení (výběru). Standardní nastavení záleží na systému. (selectForeground/Background)
state=
Stav plátna. Může nabývat hodnot NORMAL, DISABLED nebo HIDDEN. Standardní je NORMAL. Toto je globální nastavení, nicméně jednotlivé prvky plátna mohou používat parametr state na úrovni prvku, který přepisuje toto globální nastavení. (state/State)
takefocus=
Indikuje, že může použít klávesu Tab k přesunu na toto udělátko. Standardně má hodnotu prázdného řetězce, což znamená, že udělátko canvas může mít focus jen když má nějaké klávesnicové vazby (keyboard bindings). (takeFocus/TakeFocus)
width=
Šířka plátna. Standardní hodnota je '10c'. (width/Width)
xscrollcommand=
Používá se pro připojení plátna vodorovnému posuvníku. Tento parametr by měl být nastaven na metodu set příslušného posuvníku. (xScrollCommand/ScrollCommand)
xscrollincrement=
Standardní hodnota je 0. (xScrollIncrement/ScrollIncrement)
yscrollcommand=
Používá se pro připojení plátna svislému posuvníku. Tento parametr by měl být nastaven na metodu set příslušného posuvníku. (yScrollCommand/ScrollCommand)
yscrollincrement=
Standardní hodnota je 0. (yScrollIncrement/ScrollIncrement)
coords(prvek, *souřadnice) [#]

Vrací souřadnice prvku.

prvek
Identifikátor prvku (tag nebo identifikátor).
*souřadnice
Dobrovolný seznam souřadnicových dvojic. Pokud je zadáno, souřadnice nahradí aktuální souřadnice všech odpovídajících prvků.
Vrací:
Pokud nejsou zadány žádné souřadnice, tato metoda vrací souřadnice odpovídajícího prvku. Pokud Identifikátor prvku odpovídá více než jednomu, funkce vrací souřadnice prvního nalezeného.
create_arc(bbox, **parametry) [#]

Kreslí na plátno oblouk, tětivu a výseč kruhu. Nový prvek je vždy nakreslen nahoru, přes všechny existující prvky.

bbox
Ohraničující obdélník žádaného oblouku.
**parametry
Parametry oblouku.
activedash=
activefill=
Vyplňující barva, která se použije, pokud myš je nad prvkem, pokud je odlišná od fill.
activeoutline=
activeoutlinestipple=
activestipple=
activewidth=
Standardně je 0.0.
dash=
Vzorek čárkovaného okraje, zadaný jako seznam délek jednotlivých segmentů. Vykresleny jsou pouze liché segmenty.
dashoffset=
Standardně je 0.
disableddash=
disabledfill=
Vyplňující barva, která se použije, pokud je prvek vypnut (disabled), pokud je odlišná od fill.
disabledoutline=
disabledoutlinestipple=
disabledstipple=
disabledwidth=
Standardně je 0.0.
extent=
Velikost vzhledem k úhlu start. Standardně je 90.0.
fill=
Vyplňující barba. Prázdný řetězec značí průhledný.
offset=
Standardně je "0,0".
outline=
Barva okraje. Standardně je "black".
outlineoffset=
Standardně je "0,0".
outlinestipple=
Vzor okraje.
start=
Počáteční úhel. Standardně je 0.0.
state=
Stav prvku. Jeden z NORMAL (normální) , DISABLED (vypnutý) a HIDDEN (skrytý).
stipple=
Vzorek výplně.
style=
Jedna z hodnot PIESLICE, CHORD nebo ARC. Standardně je PIESLICE.
tags=
Přidá tag k tomuto prvku nebo tuple obsahující několik tagů.
width=
Standardně je 1.0.
Vrací:
Identifikátor prvku.
create_bitmap(pozice, **parametry) [#]

Vykreslení bitmapy na plátno. Upozornění: bitmapa v pojetí Tkinter rozhodně není *.bmp nebo podobné. Jedná se o starý formát X11 bitmap. Na dnešní běžné typy obrázků používejte PhotoImage nebo PIL (použití popsáno také ve PhotoImage).

pozice
Pozice bitmapy, zadaná jako dvě souřadnice.
**parametry
Parametry bitmapy.
activebackground=
activebitmap=
activeforeground=
anchor=
Jak umístnit bitmapu relativně k žádné pozici. Standardně je CENTER.
background=
Barva pozadí, která se používá pro pixely, které jsou "off". Použijte prázdný řetězec, pokud chcete pozadí průhledné. Standardně je průhledné.
bitmap=
Popisovač bitmapy. Více informací najdete v BitmapImage. Chcete-li zobrazit objekt BitmapImage, použijte funkci create_image.
disabledbackground=
disabledbitmap=
disabledforeground=
foreground=
Barva popředí, která se použije pro pixely, které jsou "on". Standardně je "black".
state=
Stav prvku. Jedna z hodnot NORMAL, DISABLED nebo HIDDEN.
tags=
Tag připojený k tomuto prvku nebo tuple obsahující několik tagů.
Vrací:
Identifikátor prvku.
create_image(pozice, **parametry) [#]

Vykreslí na plátno obrázek.

pozice
Pozice obrázku zadaná jako dvě souřadnice.
**parametry
Parametry obrázku.
activeimage=
anchor=
Jak umístnit obrázek relativně k zadané pozici. Standardně je CENTER.
disabledimage=
image=
Objekt obrázku. Měl by to být PhotoImage nebo BitmapImage nebo kompatabilní objekt, jako např. PIL PhotoImage. Aplikace musí držet referenci na objekt obrázku.
state=
Stav prvku. Jedna z hodnot NORMAL, DISABLED nebo HIDDEN.
tags=
Tag připojený k tomuto prvku nebo tuple obsahující několik tagů.
Vrací:
Identifikátor prvku.
create_line(souřadnice, **parametry) [#]

Vykreslí na plátno čáru.

souřadnice
Souřadnice obrázku.
**parametry
Parametry čáry.
activedash=
activefill=
Barva čáry, která se použije když je myš nad prvkem, pokud je rozdílná od fill.
activestipple=
activewidth=
Standardně je 0.0.
arrow=
Standardně je NONE.
arrowshape=
Standardně je "8 10 3".
capstyle=
Standardně je BUTT.
dash=
Vzorek čáry, zadaný jako seznam délek jednotlivých segmentů. Vykresleny jsou pouze liché segmenty.
dashoffset=
Standardně je 0.
disableddash=
disabledfill=
Barva čáry, která se použije, když je prvek vypnutý, pokud je odlišná od fill.
disabledstipple=
disabledwidth=
Standardně je 0.0.
fill=
Barva čáry. Standardně je "black".
joinstyle=
Standardně je ROUND.
offset=
Standardně je "0,0".
smooth=
Standardně je 0.
splinesteps=
Standardně je 12.
state=
Stav prvku. Jedna z hodnot NORMAL, DISABLED nebo HIDDEN.
stipple=
Vzorek výplně.
tags=
Tag připojený k tomuto prvku nebo tuple obsahující několik tagů.
width=
Standardně je 1.0.
Vrací:
Identifikátor prvku.
create_oval(bbox, **parametry) [#]

Vykresluje na plátno elipsu.

bbox
Souřadnice elipsy.
**parametry
Parametry elipsy.
activedash=
activefill=
Barva výplně, která se použije, když je myš nad prvkem, pokud je rozdílná od fill.
activeoutline=
activeoutlinestipple=
activestipple=
activewidth=
Standardně je 0.0.
dash=
Vzorek čárkovaného okraje, zadaný jako seznam délek jednotlivých segmentů. Vykresleny jsou pouze liché segmenty.
dashoffset=
Standardně je 0.
disableddash=
disabledfill=
Barva výplně, když je prvek vypnutý, pokud je odlišná od fill.
disabledoutline=
disabledoutlinestipple=
disabledstipple=
disabledwidth=
Standardně je 0.
fill=
Barva výplně. Prázdný řetězec značí průhlednost.
offset=
Standardně je "0,0".
outline=
Barva okraje. Standardně je "black".
outlineoffset=
Standardně je "0,0".
outlinestipple=
Vzor okraje.
state=
Stav prvku. Jedna z hodnot NORMAL, DISABLED nebo HIDDEN.
stipple=
Vzorek výplně.
tags=
Tag připojený k tomuto prvku nebo tuple obsahující několik tagů.
width=
Standardně je 1.0.
Vrací:
Identifikátor prvku.
create_polygon(souřadnice, **parametry) [#]

Vykreslí na plátno mnohoúhelník.

souřadnice
Souřadnice mnohoúhelníku.
**parametry
Parametry mnohoúhelníku.
activedash=
activefill=
Barva výplně, která se použije, když je myš nad prvkem, pokud je rozdílná od fill.
activeoutline=
activeoutlinestipple=
activestipple=
activewidth=
Standardně je 0.0.
dash=
Vzorek čárkovaného okraje, zadaný jako seznam délek jednotlivých segmentů. Vykresleny jsou pouze liché segmenty.
dashoffset=
Standardně je 0.
disableddash=
disabledfill=
Barva výplně, když je prvek vypnutý, pokud je odlišná od fill.
disabledoutline=
disabledoutlinestipple=
disabledstipple=
disabledwidth=
Standardně je 0.0.
fill=
Barva výplně. Standardně je "black".
joinstyle=
Standardně je ROUND.
offset=
Standardně je "0,0".
outline=
Barva okraje.
outlineoffset=
Standardně je "0,0".
outlinestipple=
Vzor okraje.
smooth=
Standardně je 0.
splinesteps=
Standardně je 12.
state=
Stav prvku. Jedna z hodnot NORMAL, DISABLED nebo HIDDEN.
stipple=
Vzorek výplně.
tags=
Tag připojený k tomuto prvku nebo tuple obsahující několik tagů.
width=
Standardně je 1.0.
Vrací:
Identifikátor prvku.
create_rectangle(bbox, **parametry) [#]

Vykresluje na plátno obdélník.

bbox
Ohraničující obdélník.
**parametry
Parametry obdélníku.
activedash=
activefill=
Barva výplně, která se použije, když je myš nad prvkem, pokud je rozdílná od fill.
activeoutline=
activeoutlinestipple=
activestipple=
activewidth=
Standardně je 0.0.
dash=
Vzorek čárkovaného okraje, zadaný jako seznam délek jednotlivých segmentů. Vykresleny jsou pouze liché segmenty.
dashoffset=
Standardně je 0.
disableddash=
disabledfill=
Barva výplně, když je prvek vypnutý, pokud je odlišná od fill.
disabledoutline=
disabledoutlinestipple=
disabledstipple=
disabledwidth=
Standardně je 0.
fill=
Barva výplně. Prázdný řetězec značí průhlednost.
offset=
Standardně je "0,0".
outline=
Barva okraje. Standardně je "black".
outlineoffset=
Standardně je "0,0".
outlinestipple=
Vzor okraje.
state=
Stav prvku. Jedna z hodnot NORMAL, DISABLED nebo HIDDEN.
stipple=
Vzorek výplně.
tags=
Tag připojený k tomuto prvku nebo tuple obsahující několik tagů.
width=
Standardně je 1.0.
Vrací:
Identifikátor prvku.
create_text(pozice, **parametry) [#]

Vykresluje na plátno text.

pozice
Pozice textu zadávaná jako dvě souřadnice. Standardně je text na tuto pozici centrován. Toto chování můžete změnit použitím parametru anchor. Například chcete-li, aby souřadnice udávala levý horní roh, použijte anchor=NW.
**parametry
Parametry textu.
activefill=
Barva textu, která se použije, když je myš nad prvkem, pokud je rozdílná od fill.
activestipple=
anchor=
Kam umístnit text relativně k zadané pozici. Standardně je CENTER.
disabledfill=
Barva textu, když je prvek vypnutý, pokud je odlišná od fill.
disabledstipple=
fill=
Barva textu. Standardně je "black".
font=
Identifikátor fontu. Standardní nastavení je závislé na systému.
justify=
Standardně je LEFT.
offset=
Standardně je "0,0".
state=
Stav prvku. Jedna z hodnot NORMAL, DISABLED nebo HIDDEN.
stipple=
Vzorek výplně.
tags=
Tag připojený k tomuto prvku nebo tuple obsahující několik tagů.
text=
Text, který se má zobrazit.
width=
Maximální délka řádky. Řádky delší než tato hodnota budou zalomeny. Standardně je 0 (žádné zalamování).
Vrací:
Identifikátor prvku.
create_window(pozice, **parametry) [#]

Umístí jakékoliv Tkinterovské udělátko na plátno. Udělátko se vykreslují vždy úplně návrh plátna. To znamená, že nemůžete dále kreslit prvky přes tyto udělátka. Canvas v tomto případě funguje jako správce rozmístnění.

pozice
Pozice okna, zadané jako dvě souřadnice.
**parametry
Parametry okna.
anchor=
Jak umístnit widget relativně k zadané pozici. Standardně je CENTER.
height=
Výška okna. Standardně je použita požadovaná výška okna.
state=
Stav prvku. Jedna z hodnot NORMAL, DISABLED nebo HIDDEN.
tags=
Tag, který se má připojit k tomuto prvku nebo tuple obsahující několik tagů.
width=
Šířka okna. Standardně je použita požadovaná šířka okna.
window=
Objekt okna.
Vrací:
Identifikátor prvku.
dchars(prvek, from, to=None) [#]

Maže text z editovatelného prvku.

prvek
Identifikátor prvku.
from
Odkud začít mazat text.
to
Kde přestat mazat text. Pokud je vynecháno, je smazán jeden znak.
delete(prvek) [#]

Maže všechny odpovídající prvky. Není chybou zadat takový identifikátor prvku, které neodpovídá žádnému prvku.

prvek
Identifikátor prvku (tag nebo identifikátor).
dtag(prvek, tag=None) [#]

Odstraní zadaný tag ze všech odpovídajících prvků. Pokud je tag vynechán, budou odstraněny všechny tagy ze všech odpovídajících prvků. Není chybou zadat takový identifikátor prvku, které nebude odpovídat žádnému prvku.

prvek
Identifikátor prvku. (tag nebo identifikátor).
tag
Tag, který se má odstranit z odpovídajících prvků. Pokud je vynechán, jsou odstraněny všechny tagy.
find_above(prvek) [#]

Vrací prvek, který leží hned nad daným prvkem.

prvek
Daný prvek.
find_all() [#]

Vrací všechny prvky na plátně. Tato metoda vrací tuple, obsahující identifikátory všech prvků na plátně s nejvrchnějším prvkem jako posledním. To znamená, že pokud jste nezměnili pořadí za použití lift nebo lower, prvky jsou vráceny v pořadí, v jakém jste je vytvořili. Jedná se o zkratku za find_withtag(ALL).

Vrací:
Tuple, obsahující všechny prvky na plátně.
find_below(prvek) [#]

Vrací první, který je hned pod daným prvkem.

prvek
Identifikátor prvku.
find_closest(x, y, halo=None, start=None) [#]

Vrací nejbližší prvek k dané pozici. Pozice je udávána v souřadnicích plátna, což značí, že tato metoda uspěje vždy, pokud je na plátně nejméně jeden prvek. Chcete-li nalézt prvek, který je v určité vzdálenosti od pozice, použijte find_overlapping , s malým obdélníkem centrovaným kolem pozice.

x
Horizontální souřadnice okna.
y
Vertikální souřadnice okna.
halo
Nepovinná vzdálenost halo.
start
Nepovinný počáteční prvek.
Vrací:
Identifikátor prvku.
find_enclosed(x1, y1, x2, y2) [#]

Najde všechny prvky, které jsou zcela obsaženy v daném obdélníku.

x1
Levá hrana.
y1
Horní hrana.
x2
Pravá hrana.
y2
Spodní hrana.
Vrací:
Tuple, obsahující všechny odpovídající prvky.
find_overlapping(x1, y1, x2, y2) [#]

Najde všechny prvky, které překrývají daný obdélník nebo jsou v něm zcela obsaženy.

x1
Levá hrana.
y1
Horní hrana.
x2
Pravá hrana.
y2
Spodní hrana.
Vrací:
Tuple, obsahující všechny odpovídající prvky.
find_withtag(prvek) [#]

Najde všechny prvky obsahující daný identifikátor prvku.

prvek
Identifikátor prvku.
focus(prvek=None) [#]

Posune focus na daný prvek. Pokud má prvek vazby na klávesy, bude přijímat všechna další klávesové události za předpokladu, že samotný canvas má také focus. Je vždy nejlepší nejdříve volat focus_set na canvas a následně focus na prvek na plátně.

Chcete-li zrušit focus na prvek, zavolejte tuto metodu s prázdným řetězcem.

Chcete-li zjistit, který prvek má aktuálně focus, zavolejte tuto metodu bez parametru.

prvek
Identifikátor prvku. Chcete-li zrušit focus na prvek, použijte prázdný řetězec.
Vrací:
Pokud je prvek vynechán, tato metoda vrací prvek, která aktuálně focus má nebo None, pokud žádný prvek focus nemá.
gettags(prvek) [#]

Vrací tagy spojené s prvkem.

prvek
Identifikátor prvku.
Vrací:
Tuple, obsahující všechny tagy spojené s prvkem. prvek.
icursor(prvek, index) [#]

Posouvá vkládací kurzor na danou pozici. Tato metoda se dá použít jen u editovatelných prvků.

prvek
Identifikátor prvku.
index
Index kurzoru.
index(prvek, index) [#]

Vrací číselný kurzorový index odpovídající dané pozici. Číselné indexování funguje stejně jako indexování seznamů v Pythonu; 0 je prostě první index zleva a len(text) je prostě vpravo od posledního znaku.

prvek
Identifikátor prvku.
index
Index. Můžete použít číselné vyjádření nebo jednu z hodnot INSERT (aktuální poloha vkládacího kurzoru), END (délka textu) nebo SEL_FIRST a SEL_LAST (začátek a konec výběru/označení).  Můžete také použít formu "@x,y", kde x a y jsou souřadnice plátna a získáte tak index nejbližší dané souřadnici.
Vrací:
Číselný index (kladné celé číslo -  integer).
insert(prvek, index, text) [#]

Vkládá text do editovatelných prvků.

prvek
Identifikátor prvku.
index
Kam text vložit. Může být buď číselný index nebo symbolická konstanta. Detaily najdete u metody index. Pokud vkládáte text na index INSERT, kurzor se posouvá současně s textem.
text
Text, který se má vložit.
itemcget(prvek, parametr) [#]

Vrací současnou hodnotu parametru prvku.

prvek
Identifikátor prvku.
parametr
Parametr prvku.
Vrací:
Hodnotu parametru. Pokud identifikátor prvku odkazuje na více než jeden prvek, tato metoda vrací hodnotu parametru prvního nalezeného.
itemconfig(prvek, **parametry) [#]

Mění jeden nebo více parametrů u všech odpovídajících prvků.

prvek
Identifikátor prvku.
**parametry
Parametry prvku.
itemconfigure(prvek, **parametry) [#]

Stejné jako itemconfig.

lift(prvek, **parametry) [#]

(Zastaralé) Posouvá prvek na vrchol zásobníku. Stejné jako tag_raise.

lower(prvek, **parametry) [#]

(Zastaralé) Posouvá prvek na spodek zásobníku. Stejné jako tag_lower.

move(prvek, dx, dy) [#]

Posunuje odpovídající prvky o daný posun.

prvek
Identifikátor prvku.
dx
Horizontální posun.
dy
Vertikální posun.
postscript(**parametry) [#]

Vytváří Postscriptovou kopii obsahu plátna. Obrázky a udělátka však obsaženy nejsou.

**parametry
Parametry Postscript.
scale(self, xscale, yscale, xoffset, yoffset) [#]

Zvětšuje nebo zmenšuje odpovídají prvky v daném měřítku. Souřadnice pro každý prvku jsou přepočítány podle vzorce((coord-offset)*scale+offset); jinými slovy - každý prvek je nejprve posunut o daný offset, pak pak vynásoben koeficient měřítka, a pak opět posunut zpět. Tato metoda mění souřadnice prvku; může se vám stát, že ztratíte přesnost, použijete-li tuto metodu několikrát za sebou na stejném prvku.

xscale
Vodorovné měřítko.
yscale
Svislé měřítko.
xoffset
Vodorovný posun v souřadnicích plátna.
yoffset
Svislý posun v souřadnicích plátna.
scan_dragto(x, y) [#]

Roluje obsah udělátka relativně k dané zarážce. Obsah je posunut 10x vzdálenost mezi zarážkou a danou pozicí. Na nastavení zarážky použijte scan_mark ,

x
Vodorovná souřadnice.
y
Svislá souřadnice.
scan_mark(x, y) [#]

Nastavuje zarážku. Ta pak může být použita pro rychlé rolování na pozici myši.

x
Vodorovná souřadnice.
y
Svislá souřadnice.
select_adjust(prvek, index) [#]

Mění výběr tak, aby obsahoval daný index. Tato metoda také nastavuje kotvu (anchor) na tuto pozici. Typické využití je u vazeb myši.

prvek
Identifikátor prvku.
index
Index výběru.
select_clear() [#]

Odstraňuje výběr, pokud nějaký v tomto udělátku je. widget.

select_from(prvek, index) [#]

Nastavuje kotvu výběru. Na rozšířená výběru použijte select_adjust nebo select_to.

prvek
Identifikátor prvku.
index
Kotva výběru.
select_item() [#]

Vrací prvek, který obsahuje výběr textu u tohoto udělátka na plátně.

Tato metoda v některých starších verzích Tkinter vrací vždy None. Tento problém se obchází náhradou této metody za canvas.tk.call(canvas._w, "select", "item").

Vrací:
Identifikátor prvku nebo None, pokud žádný výběr neexistuje.
select_to(prvek, index) [#]

Upravuje výběr tak, že bude zahrnovat oblast mezi současnou kotvou výběru a daným indexem. Kotva se nastavuje pomocí select_from or select_adjust.

prvek
Identifikátor prvku.
index
Koncový bod výběru.
tag_bind(prvek, event=None, volanafunkce, add=None) [#]

Přidá vazbu na událost ke všem odpovídajícím prvkům.

Nové vazby jsou svázány s prvkem a ne tagem. Například, vytvoříte-li vazby u všech prvků, které mají tag movable, budou uplatněny u všech existujících odpovídajících prvků na plátně. Pokud ale následně vytvoříte další nové prvky s tagem movable, tyto příslušnou vazbu mít nebudou.

prvek
Identifikátor prvku (tag or identifikátor).
event
Identifikátor události.
volanafunkce
Volatelný objekt, který přijímá jeden parametr - událost. Pro všechny příslušné události je tato volanafunkce volaná s parametrem události.
add
Obvykle nové vazby nahrazují všechny dosavadní vazby pro stejnou událost. Pokud je tento parametr "+", nové vazby jsou přidávány k již existujícím.
tag_lower(prvek) [#]

Posunuje prvek na spodek zásobníku plátna. Pokud je nalezeno více odpovídajících prvků jsou posunuty všechny s respektováním jejich relativního pořadí.

Tato metoda nefunguje s okenními prvky (window items). Používejte metodu udělátka lower, chcete-li změnit pořadí.

prvek
Identifikátor prvku.
tag_raise(prvek) [#]

Posunuje prvek na vršek zásobníku plátna. Pokud je nalezeno více odpovídajících prvků jsou posunuty všechny s respektováním jejich relativního pořadí.

Tato metoda nefunguje s okenními prvky (window items). Používejte metodu udělátka lift, chcete-li změnit pořadí.

prvek
Identifikátor prvku.
tag_unbind(self, prvek, event) [#]

Pro danou událost odstraňuje případné vazby u všech odpovídajících prvků.

prvek
Identifikátor prvku.
sequence
Identifikátor události.
tkraise(prvek, **parametry) [#]

(Zastaralé) Stejné jako tag_raise.

type(prvek) [#]

Vrací typ prvku. Pokud se prvek odkazuje na více než jeden prvek, tato metoda vrací typ prvního nalezeného prvku.

prvek
Identifikátor prvku.
Vrací:
Řetězec udávající typ prvku. Může nabývat hodnot "arc", "bitmap", "image", "line", "oval", "polygon", "rectangle", "text" nebo "window".
xview(how, *args) [#]

Nastavuje vodorovný pohled na plátno.

how
Jak nastavit plátno. Může nabývat hodnot "moveto" nebo "scroll".
*args
Dodatečné parametry. Pro metodu "moveto" to je jediný zlomek. Pro metodu"scroll" je to jednotka a počet. Bližší popis najdete v metodách xview_moveto a xview_scroll.
xview_moveto(fraction) [#]

Nastavuje plátno tak, že daný posun je u levé strany plátna.

fraction
Posunutí posunu. Posun 0.0 je na začátku scrollregion a 1.0 na konci.
xview_scroll(number, what) [#]

Roluje plátno vodorovně o danou vzdálenost.

number
Počet jednotek.
what
Jakou jednotku použít. Může nabývat hodnot "units" (menší kroky) nebo "pages".
yview(how, *args) [#]

Nastavuje svislý pohled na plátno.

how
Jak nastavit plátno. Může nabývat hodnot "moveto" nebo "scroll".
*args
Dodatečné parametry. Pro metodu "moveto" to je jediný zlomek. Pro metodu"scroll" je to jednotka a počet. Bližší popis najdete v metodách  yview_moveto a yview_scroll.
yview_moveto(fraction) [#]

Nastavuje plátno tak, že daný posun je u horní strany plátna.

fraction
Posunutí posunu. Posun 0.0 je na začátku scrollregion a 1.0 na konci.
yview_scroll(number, what) [#]

Roluje plátno svisle o danou vzdálenost.

number
Počet jednotek.
what
Jakou jednotku použít. Může nabývat hodnot "units" (menší kroky) nebo "pages".

Přeložil a upravil - Pavel Kosina - Copyright © 2006 TkinterCZ - GNU Free Documentation License 1.2