Úvod do Tkinter - Okna pro jazyk Python - Postavené na základech An
Introduction to Tkinter
[ předchozí ] [ další ] [ obsah ]
[ originál ]
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()
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 (celá čísla)
- tagy (značky)
-
ALL (vše)
-
CURRENT (aktuální)
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