Úvod do Tkinter - Okna pro jazyk Python - Postavené na základech 'An Introduction to Tkinter'
Následující metody jsou společné všem udělátkům včetně okna root/toplevel. Okna root i toplevel poskytují ještě další metody.
w.config(parametr=hodnota)
hodnota = w.cget("parametr") k = w.keys()
mainloop() w.mainloop() w.quit() w.wait_variable(var) w.wait_visibility(window) w.wait_window(window) w.update() w.update_idletasks()
w.bind(udalost, volanafunkce) w.unbind(udalost) w.bind_class(udalost, volanafunkce) w.bindtags() w.bindtags(tags)
id = w.after(cas, volanafunkce) id = w.after_idle(volanafunkce) w.after_cancel(id)
w.lift() w.lower()
w.winfo_width(), w.winfo_height() w.winfo_reqwidth(), w.winfo_reqheight() w.winfo_id()
w.option_add(vzor, hodnota) w.option_get(jmeno, trida)
Implementační třída udělátek. Tuto třídu se používají všechna udělátka jako mixin (?).
Zaregistruje volanou funkci, která se zavolá po uplynutí daného času. Program se ale na daném místě nezastaví a pokračuje ve zpracování příkazů normálně dále.
Tato metoda zaregistruje volanou funkci tak, že bude zavolána za daný počet milisekund. Tkinter zaručuje, že metoda nebude zavolána dříve než je daná doba; pokud bude systém zaneprázdněn je možné, že to bude později.
Volaná funkce je volána jen jednou u každého volání této funkce. Nelze tedy nastavit parametrem např. počet zavolání této funkce. Chcete-li zajistit opakované volání, musíte uvnitř volané funkce provést opětnou registraci sebe sama:
class App: def __init__(self, master): self.master = master self.opakovacka() # zacatek opakovani def opakovacka(self):
... něco udělej ... self.master.after(100, self.opakovacka)Můžete zadat jeden nebo více argumentů, které budou předány volané funkci. Metoda vrací identifikátor časovače, který se dá použít pro jeho zrušení časovače pomocí metody after_cancel.
Volanou funkci můžete také vynechat. V tom případě metoda prostě počká zadaný počet milisekund, podobně jako time.sleep(delay_ms*0.001)).
Zruší časovač.
Zaregistruje volanou funkci, která se zavolá, až nebude systém zaneprázdněn. Funkce bude zavolána, když nebudou v hlavní smyčce žádné jiné události ke zpracování.Volaná funkce je volána jen jednou u každého volání této funkce.
Metoda bbox. Vrací ohraničující obdélník, v pixelech (x,y, šířka, výška), který zahrnuje dané řádky a sloupce.
Generuje zvuk, jehož délka i tvar je závislý na systému. Typicky krátké pípnutí.
Přidá k tomuto udělátko vazbu na událost. U stejných událostí nové vazby obvykle nahrazují dosavadní. Předáním třetího parametru "+" je nová událost přidána k dosavadním.
Přidá na aplikační úrovni vazbu na událost. U stejných událostí nové vazby obvykle nahrazují dosavadní. Předáním třetího parametru "+" je nová událost přidána k dosavadním.
Přidá k dané třídě udělátek vazbu na událost. U stejných událostí nové vazby obvykle nahrazují dosavadní. Předáním třetího parametru "+" je nová událost přidána k dosavadním.
Nastavuje nebo vrací u patřičného udělátka pořadí vazeb.
Pokud je zavolána bez parametru, metoda vrací n-tici obsahují pořadí vazeb, použitých pro toto udělátko. Standardně tato n-tice obsahuje jméno udělátka (str(self)), třídu udělátka (např. Button), jméno hlavního okna a nakonec speciální jméno, které odkazuje na aplikační úroveň.
Vrací aktuální hodnotu parametru.
Metoda vrací vždy řetězec; i v tom případě, když jste při konfiguraci udělátku předávali jako hodnotu parametru např. číslo). Použijte int a float, kde je to nutné.
Přidá text do schránky.
Vyčistí schránku.
Metoda colormode.
Metoda columnconfigure.
Mění jeden nebo více parametrů udělátek.
Následující forma změny parametrů se dá
používat také: w
[parametr
] = hodnota
- pětice (parametr, klíč v databázi parametrů, třída v databázi parametrů, defaultní hodnota, současná hodnota)
- nebo dvojice (alias parametr, parametr). Případ dvojice se používá pro aliasy jako bg (background) a bd (borderwidth).
Hodnoty polí nejsou korektně formátovány u některých typů parametrů. Pro řešení problému s nimi nahlédněte do metody keys a experimentujte.
Stejné jako config.
Metoda deletecommand.
Zničí udělátko. Udělátko je odstraněno z obrazovky a všechny zdroje, spojené s udělátkem, jsou uvolněny.
Metoda event_add.
Metoda event_delete.
Metoda event_generate.
Metoda event_info.
Metoda focus.
Metoda focus_displayof.
Metoda focus_force.
Metoda focus_get.
Metoda focus_lastfor.
Přesouvá klávesnicový focus na toto udělátko. Zvýrazněno to bude rámečkem kolem widgetu, pokud nestanovíte jinak a znamená to, že všechny klávesnicové události budou nasměrovány do tohoto udělátka.
(Vnitřní) konvertuje Tk řetězec na hodnotu True/False.
Metoda getvar.
Metoda grab_current.
Uvolňuje událost grab.
Přesměruje všechny události této aplikace na toto udělátko. Pokud vytvoříte podokno Toplevel, standardně se stále můžete přepnout do okna root. Zavoláte-li tuto metodu na podokno, nebude to již možné, dokud podokno nezavřete nebo neuvolníte přesměrování událostí (grab_release).
Přesměruje události celého okna na toto udělátko.
Toto by se mělo využívat jen ve velmi speciálních případech, protože dochází k blokaci všech ostatních aplikací na stejném okně. To pravděpodobně zahrnuje vše vývojové prostředí....
Metoda grab_status.
Metoda image_names.
Metoda image_types.
Vrací n-tici obsahující parametry dostupné pro toto udělátko. Můžete použít cget chcete-li dostat odpovídající hodnotu pro každý parametr.
Všimněte si, že tyto n-tice mohou obsahovat aliasy parametrů (jako bd, bg a fg). Toho se můžete zbavit, použijete-li místo toho metodu config. Ta zase má tu nevýhodu, že pro některé typy parametrů (jako například fonty) nevrací platnou hodnotu. Takže nejlepší je obě dvě metody nakombinovat:
for item in w.config(): if len(item) == 5: option = item[0] value = w.cget(option) print option, value
Posune udělátko na vrchol okenního zásobníku. Pokud je udělátko potomek okna, je posunut nad okno toplevel. Pokud je to toplevel okno (root nebo Toplevel), je posunuto nad všechna ostatní okna na displeji. Pokud je zadán parametr, je udělátko (okno) posunuto hned nad dané udělátko (okno).
Posune okno naspod okenního zásobníku. Stejné jako lift, ale posouvá udělátko dospod zásobníku (nebo ho posune hned pod belowThis).
VStupuje do hlavní tkinterovské smyčky událostí. Smyčku můžete opustit metodou quit, okno aplikace zůstane však viditelné. Je tedy často lépe, opouštět smyčku zároveň se zničením okna pomocí metody destroy.
Vrací objekt udělátka z jeho zadaného jména.
Metoda option_add.
Metoda option_clear.
Metoda option_get.
Metoda option_readfile.
Metoda propagate.
Metoda quit.
Zaregistruje pythonovskou volanou funkci do Tcl. Vrací jména odpovídající vzniklé Tcl procedury. Když bude tato procedura zavolána z Tcl programu, zavolá se odpovídající pythonovská funkce s argumenty předané Tcl proceduře. Hodnoty vrácené v pyfunkce budou převedeny na řetězce a předány programu Tcl.
Metoda rowconfigure.
Metoda selection_clear.
Metoda selection_get.
Metoda selection_handle.
Metoda selection_own.
Metoda selection_own_get.
Metoda send.
Metoda setvar.
Metoda size.
Metoda slaves.
Metoda tk_bisque.
Metoda tk_focusFollowsMouse.
Vrací následující udělátko za aktuálním, které by mělo získat focus při použití klávesy Tab.
Vrací předchozí udělátko před aktuálním, které by mělo získat focus při použití klávesy Tab.
Metoda tk_menuBar.
Metoda tk_setPalette.
Metoda tk_strictMotif.
Metoda tkraise.
Odstraní u tohoto udělátka jakékoliv vazby pro danou událost.
Metoda unbind_all.
Metoda unbind_class.
Zpracuje všechny čekající události, zavolá všechny volané funkce, dokončí všechny zobrazování správci rozmístění, překreslí udělátka, pokud je to nutné a zavolá všechny zbylé čekající úkoly.
Tato metoda by se měla používat s rozmyslem, protože když je zavolána z nevhodného místa, jako např. z volané funkce, může vést k velmi nepříjemným důsledkům. Pokud jste na pochybách, použijte update_idletasks.
Zavolá všechny čekající úkoly bez zpracování jakýchkoliv dalších událostí. Používá při aktualizaci správců rozmístění, které překreslí udělátka, pokud je to nutné, přičemž se nezavolá žádný callback.
Počká, až se tkinterovská proměnná změní. Tato metoda vstoupí do lokální smyčky událostí, takže ostatní části aplikace budou nadále funkční. Lokální smyčka se ukončí, když dojde ke změně proměnné (počítá se i nastavení proměnné na aktuální hodnotu).
Počká, až bude předané udělátko viditelné. Obvykle se tohoto využívá při zobrazování toplevel okna. Podobně jako wait_variable, tato metoda vstoupí do lokální smyčky událostí, takže ostatní části aplikace budou funkční.
Počká, až předané udělátko bude zničeno. Obvykle se to používá pro čekání, až dané okno zmizí z obrazovky. Podobně jako wait_variable a wait_visibility, tato metoda vstoupí do lokální smyčky událostí, takže ostatní části aplikace budou funkční.
Metoda waitvar.
Mapuje daný řetězec na jedinečné číslo. Pokaždé, když zavoláte tuto metodu se stejným řetězcem, dostanete stejné celé číslo.
Vrací řetězec, který odpovídá danému celému číslu (získanému pomocí winfo_atom). Pokud číslo není používáno, Tkinter vyvolá TclError výjimku. Tkinter předdefinovává sadu čísel (typicky 1-80 nebo tak nějak). Zajímá-li vás to víc, můžete tuto metodu použít na zkoumání.
Vrací počet "buněk" v barevné mapě. Typicky se jedná o hodnotu mezi 2 a 256 (dokonce i pro displeje true color, z jakýchsi záhadných důvodů).
Vrací seznam instancí udělátek všech potomků tohoto udělátka. Instance jsou vráceny v pořadí zásobníku odspodu nahoru.
Vrací jméno třídy tohoto udělátka. Pokud je udělátko Tkinter base widget, dostanete stejnou informaci také pomocí widget.__class__.__name__.
Vrací pravdu, pokud je barevná mapa tohoto udělátka plná.
Vrací udělátko na dané pozici nebo None, pokud tam nic není nebo to není udělátko od této aplikace. Souřadnice jsou dány relativně k levému hornímu rohu obrazovky.
Vrací bitovou hloubku tohoto udělátka. Obvykle se jedná o hodnotu 8 pro 256 barevný displej, 15 nebo 16 pro hicolor displej a 24 nebo 32 pro truecolor displej.
Vrací true, pokud existuje Tk okno, které odpovídá tomuto udělátku. Pokud neuděláte něco moc divného, měli byste vždy dostávat true.
Převádí danou vzdálenost (v jakékoliv formě, kterou Tkinter přijímá) na odpovídající počet pixelů.
Vrací řetězec, popisující geometrii udělátka. Řetězec má následující formát:
"%dx%d%+d%+d" % (šířka, výška, xoffset, yoffset)kde všechny souřadnice jsou uvedeny v pixelech.
Vrací výšku udělátka v pixelech. Pokud ale není spravováno správcem rozmístění, tato metoda vrací 1. Možná bude v tomto případě stačit zavolat nejdříve update_idletaskst. Můžete ale také použít winfo_reqheight (to je, přirozená výška udělátka, jak ji chápe udělátko samo podle svého obsahu).
Vrací identifikátor okna, který je závislý na systému. U Unixu se jedná o X window identifier. U Windows se jedná o HWND.
Metoda winfo_interps.
Kontrolu, jestli bylo udělátko vytvořeno. Tato metoda kontroluje, jestli Tkinter okno odpovídající udělátku v základním systému oken (X windows, Windows HWND, apod).
Vrací jméno správce rozmístění, který se stará o zobrazení tohoto udělátka (typicky je to grid, pack, place, canvas nebo text).
Vrací Tk jméno udělátka. Je stejné jako poslední část plného jména udělátka, které dostáváte z str(widget).
Vrací plné jméno rodičovského udělátka. Tato metoda vrací prázdný řetězec, pokud udělátko nemá rodiče (root, toplevel).
Chcete-li však získat spíše instanci rodiče, použijte atribut master. Nebo, pokud chcete, použijte nametowidget, kde namapujete plné jméno udělátka na instanci udělátka.
Vrací plné jméno okna pro danou identitu (viz winfo_id). Pokud okno neexistuje nebo nepatří do této aplikace, Tkinter vyvolá výjimku TclError.
Chcete-li převést plné jméno na instanci udělátka, používejte nametowidget.
Převádí danou vzdálenost, v jakékoliv formě, kterou Tkinter umí, na odpovídající počet pixelů.
Metoda winfo_pointerx.
Metoda winfo_pointerxy.
Metoda winfo_pointery.
Vrací přirozenou výšku udělátka. Přirozená výška je minimální výška potřebná k plnému zobrazení obsahu, včetně výplní, okrajů, apod. Tuto velikost počítá samo udělátko na základě daných parametrů. Skutečná velikost udělátka je ale určena správcem rozmístění na základě této hodnoty, velikosti rodiče udělátka a parametrů, které správce dostal.
Vrací přirozenou šířku udělátka. Přirozená šířka je minimální šířka potřebná k plnému zobrazení obsahu, včetně výplní, okrajů, apod. Tuto velikost počítá samo udělátko na základě daných parametrů. Skutečná velikost udělátka je ale určena správcem rozmístění na základě této hodnoty, velikosti rodiče udělátka a parametrů, které správce dostal..
Převádí řetězec barvy, v jakékoliv formě, kterou Tkinter umí, na n-tici RGB.
Vrací pixelové souřadnice levé hrany udělátka vzhledem k levé hraně obrazovky.
Vrací pixelové souřadnice horní hrany udělátka vzhledem k horní hraně obrazovky.
Vrací Jméno obrazovky v X window pro aktuální okno. Jméno obrazovky je řetězec formátu ":display.screen", kde display a screen jsou desetinná čísla.
Na Windows a Macintosh toto vrací vždy ":0.0".
Vrací počet barevných buněk v defaultní barevné mapě pro obrazovku tohoto udělátka.
Vrací defaultní bitovou hloubku pro obrazovku tohoto udělátka.
Vrací výšku obrazovky tohoto udělátka.
Vrací výšku obrazovky tohoto udělátka v milimetrech. Nemusí správně fungovat na všech platformách.
Vrací šířku obrazovky tohoto udělátka v milimetrech. Nemusí správně fungovat na všech platformách.
Vrací "vizuální" typ udělátka. Obvykle je to "pseudocolor" (pror 256-barevné displeje) nebo "truecolor" (pro 16- nebo 24-bitové displeje).
Vrací výšku obrazovky tohoto udělátka.
Metoda winfo_server.
Vrací okno toplevel nebo root pro toto udělátko, jako instanci.
Metoda winfo_viewable.
Stejné jako winfo_screenvisual.
Metoda winfo_visualid.
Metoda winfo_visualsavailable.
Metoda winfo_vrootheight.
Metoda winfo_vrootwidth.
Metoda winfo_vrootx.
Metoda winfo_vrooty.
Vrací šířku tohoto udělátka v pixelech. Pokud ale není spravováno správcem rozmístění, tato metoda vrací 1. Možná bude v tomto případě stačit zavolat nejdříve update_idletaskst. Můžete ale také použít winfo_reqwidth(to je, přirozená šířka udělátka, jak ji chápe udělátko samo podle svého obsahu).
Vrací pixelové souřadnice levého hrany udělátka vzhledem k rodičovské levé hraně.
Vrací pixelové souřadnice horní hrany udělátka vzhledem k rodičovské horní hraně.
Přeložil a upravil - Pavel Kosina - Copyright © 2006 TkinterCZ - GNU Free Documentation License 1.2