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

Root a Toplevel okno

Tento list obsahuje popis a metody, které jsou dostupné pro hlavní okno (root) i pro jeho případné podokna (Toplevel). Obě dvě udělátka obvykle mohou mít titulkový pruh, menu a další okenní dekorace.

Hlavní okno - root - Tk()
Podokno - toplevel - Toplevel()

Jak root a toplevel používat

Root by vaše aplikace měla mít jen jedno, pokud si nejste jisti tím, co děláte. Další podokna byste měli vytvářet jako Toplevel, protože pak se dají snadno sdílet proměnné a zdroje. Toplevel se používá na zobrazení dodatečných aplikačních oken, jako dialogů, hlášek a dalších "vyskakovacích" oken.

Pojetí

Příklad

# -*- coding: utf-8 -*-
from Tkinter import *


def ahoj():
    top = Toplevel()
    top.title(u"Pozdrav")
    top.focus_set()
    
    msg = Message(top, text=u"Toto je okno Toplevel")
    msg.pack()
    
    tlZavrit = Button(top, text=u"Zavřít", command=top.destroy)
    tlZavrit.pack()    

hlavni = Tk()

ram = Frame(hlavni)
ram.pack()

tlKonec = Button(ram, text="KONEC", fg="red", command=hlavni.destroy)
tlKonec.pack(side=LEFT)

tlPozdrav = Button(ram, text="Pozdrav!", command=ahoj)
tlPozdrav.pack(side=LEFT)

mainloop()


Referenční příručka

Tk( **options) (třída) [#]
Toplevel(master=None, **options) (třída) [#]
Udělátko - kontejner.
master
Rodič.
**options
Parametry udělátka. Viz config.
config(**options) [#]

Mění jednu nebo více parametrů udělátka. Když nejsou zadány žádné parametry, metoda vrací slovník se všemi aktuálními hodnotami parametrů.

**options
Parametry udělátka.
background=
Barva pozadí, která se použije v tomto okně. Standardně se použije barva pozadí aplikace. Chcete-li zabránit možným změnám, nastavte barvu na prázdný řetězec. (název v databázi parametrů je background, třída je Background)
bg=
Stejné jako background.
borderwidth=
Šířka 3D okraje. Standard je (žádný okraj). (borderWidth/BorderWidth)
bd=
Stejné jako borderwidth.
class=
Standard je Toplevel. (class/Class)
colormap=
Některé displeje podporují pouze 256 barev (některé ještě méně). Tyto displeje obvykle poskytují barevnou mapu, která určuje, kterých 256 barev se dá využívat. Tento parametr vám umožňuje určovat, kterou barevnou mapu pro toto okno a všechna jeho podokna použít. Tento parametr se nedá měnit po vytvoření okna. (colormap/Colormap)
container=
Standard je 0. (container/Container)
cursor=
Jaký kurzor se použije, když je ukazatel myši nad oknem. Standard je systémový ukazatel. (cursor/Cursor)
height=
Výška okna v pixelech. Pokud je vynecháno, výška okna se udělá tak, aby se vše vešlo. (height/Height)
highlightbackground=
Jaká se použije barva zvýraznění okraje, když udělátko nebude mít focus. Standardní nastavení závisí na systému. (highlightBackground/HighlightBackground)
highlightcolor=
Jaká se použije barva zvýraznění okraje, když udělátko bude mít focus. Standardní nastavení závisí na systému. (highlightColor/HighlightColor)
highlightthickness=
Šířka zvýrazněného okraje. Standard je 0. (highlightThickness/HighlightThickness)
menu=
Menu, které je spojeno s tímto oknem. Na Unixech a Windows je menu umístěno na vrchu okna. Na Mac je menu na vrchu okna, pokud je okno vybráno. (menu/Menu)
padx=
Vodorovná výplň. Standard je 0. (padX/Pad)
pady=
Svislá výplň. Standard je 0. (padY/Pad)
relief=
Dekorace okraje: FLAT, SUNKEN, RAISED, GROOVE nebo RIDGE. Standard je FLAT. (relief/Relief)
screen=
Žádné standardní nastavení. (screen/Screen)
takefocus=
Určuje, jestli se může uživatel dostat na tento widget pomocí Tab. Standard je False. (takeFocus/TakeFocus)
use=
Žádné standardní nastavení. (use/Use)
visual=
Určuje, který vizuální typ použít u tohoto okna. Tato volba se většinou vynechává. V tom případě se vlastnost dědí od rodiče nebo systému. Možné hodnoty jsou: "pseudocolor", "truecolor", "directcolor", "staticcolor", "grayscale" nebo "staticgray". Viz dokumentace X windows. Tato volba se dá nastavit jen při vytvoření okna. (visual/Visual)
width=
Šířka okna v pixelech. Pokud je vynecháno, šířka okna se udělá tak, aby se vše vešlo.

Metody okna Toplevel a Root

Tato sada metod se používá pro komunikaci s okenním manažerem. Jsou dostupné pod hlavním oknem (Tk) a pod instancemi Toplevel.

Poznámka: různí okenní manažeři se chovají různě. Některé například nepodporují okna s ikonami, některé zase skupiny oken, atd.

Referenční příručka

Wm (třída) [#]

Implementační třída Wm. Tato třída je využívání jako společná pro hlavní okno (Tk) a udělátka Toplevel (Toplevel).

aspect(minNumer=None, minDenom=None, maxNumer=None, maxDenom=None) [#]

Určuje poměr stran (poměr mezi šířkou a výškou) tohoto okna. Poměr stran se bude nalézat mezi minNumer/minDenom a maxNumer/maxDenom.

Pokud nejsou zadány žádné parametry, tato metoda vrací 4-tici současného poměru, pokud nějaký takový je.

Stejné jako wm_aspect.

attributes(*args) [#]

Nastavuje nebo vrací atributy okna. U Pythonu 2.4 je tento wrapper nedokončený, takže aplikace musí používat nestandardní syntaxi, když chce měnit nebo získávat dostupné atributy.

Stejné jako wm_attributes.

*args
Jeden nebo více atributů. Současná verze nepodporuje pojmenované argumenty. Musíte vložit před jméno atributu pomlčku a hodnotu předat jako samostatný parametr. Chcete-li například nastavit parametr disabled, použijte w.attributes("-disabled", 1) namísto w.attributes(disabled=1). Pokud je zadán jen atribut, metoda vrací současnou hodnotu. Nejsou-li zadány žádné parametry, metoda vrací současné nastavení parametrů (detaily níže).
alpha=
(Windows?, Mac) Ovládá průhlednost okna. 0.0 značí plně průhledné, 1.0 značí plně neprůhledné. Není podporováno na všech systémech; kde to nejde, Tkinter použije vždy 1.0. Poznámka: v této verzi musí být tento atribut předán jako "-alpha".
disabled=
(Windows) Pokud je zapnut, vypíná celé okno. Poznámka: v této verzi musí být tento atribut předán jako "-disabled".
modified=
(Mac) Pokud je zapnut, okno je označeno jako upravené. Poznámka: v této verzi musí být tento atribut předán jako "-modified".
titlepath=
(Mac) Cesta k ikoně okna proxy. Poznámka: v této verzi musí být tento atribut předán jako "-titlepath".
toolwindow=
(Windows) Pokud je zapnut, nastavuje styl okna na "nástrojové okno". Poznámka:: v této verzi musí být tento atribut předán jako "-toolwindow".
topmost=
(Windows) Pokud je zapnut, je toto okno vždy umístěno navrch všech oken. Poznámka: v této verzi musí být tento atribut předán jako "-topmost".
Vrací:
Pokud byla zadána hodnota parametru je návratová hodnota neurčitá. Pokud byl zadán jeden parametr návratová hodnota je současná hodnota parametru jako řetězec. Pokud nebyly zadány žádné parametry, vrací současné hodnoty všech parametrů jako řetězec ve tvaru "-attribute value -attribute value". Budoucí verze mohou vracet slovník.
client(name=None) [#]

Nastavuje nebo vrací vlastnost WM_CLIENT_MACHINE. Tato vlastnost je používána okenním manažerem X windows system. Na jiných platformách je ignorováno.

Chcete-li vlastnost odstranit, použijte prázdný řetězec.

Stejné jako wm_client.

name
Nová hodnota této vlastnosti. Pokud je vynecháno, je vráceno současné nastavení.
colormapwindows(*wlist) [#]

Nastavuje nebo vrací vlastnost WM_COLORMAP_WINDOWS. Tato vlastnost je používána okenním manažerem X windows system. Na jiných platformách je ignorováno.

Stejné jako wm_colormapwindows.

wlist
Nová hodnota této vlastnosti. Pokud je vynecháno, je vráceno současné nastavení.
command(value=None) [#]

Nastavuje nebo vrací vlastnost WM_COMMAND. Tato vlastnost je používána okenním manažerem X windows system. Na jiných platformách je ignorováno.

Stejné jako wm_command.

wlist
Nová hodnota této vlastnosti. Pokud je vynecháno, je vráceno současné nastavení. Na odstranění vlastnosti použijte prázdný řetězec.
deiconify() [#]

Zobrazí okno. Nová okna jsou zobrazována standardně, takže tuto metodu musíte použít pouze v případě, že jste předtím použili iconify nebo withdraw, když jste okno z obrazovky odstranili.

Stejné jako wm_deiconify.

focusmodel(model=None) [#]

Nastavuje nebo vrací focus model.

Stejné jako wm_focusmodel.

frame() [#]

Vrací řetězec obsahující okenně závislý identifikátor, který odpovídá okennímu nejvyššímu rodiči. U Unixu je to identifikátor okna. U Windows je to celé číslo HWND.

Poznámka: pokud nebylo okno zobrazeno okenním manažerem, tato metoda vrací identifikátor okna, který odpovídá samotnému oknu.

Stejné jako wm_frame.

geometry(geometry=None) [#]

Nastavuje nebo vrací geometrii okna. S argumentem tato metoda mění geometrii. Parametr má mít následující formát:

"%dx%d%+d%+d" % (šířka, výška, x-posun, y-posun)

Bez argumentu tato metoda vrací současnou geometrii okna.

Chcete-li převést řetězec do pixelových souřadnic, můžete to udělat nějak takto:

import re

def parsegeometry(geometry):
    m = re.match("(\d+)x(\d+)([-+]\d+)([-+]\d+)", geometry)
    if not m:
        raise ValueError("nepodarilo se rozparsovat data")
    return map(int, m.groups())

Stejné jako wm_geometry.

grid(baseWidth=None, baseHeight=None, widthInc=None, heightInc=None) [#]

Metoda grid. Stejné jako wm_grid.

group(window=None) [#]

Přidává okno ke skupině oken, které dané okno řídí. Člen skupiny je obvykle ukryt, když vlastník skupiny je minimalizován nebo schován (withdrawn). Skutečné jednání závisí na daném okenním manažeru.

Stejné jako wm_group.

window
Vlastník skupiny, Pokud je vynecháno, je vráceno současný vlastník.
iconbitmap(bitmap=None) [#]

Nastavuje nebo vrací bitmapu ikony, která se použije při minimalizaci. Tato metoda je některými okenními manažery ignorována (včetně Windows).

Poznámka: tato metoda umožňuje zobrazování pouze monochromatických ikon. Chcete-li zobrazit barevnou ikonu, umístěte ji do udělátka Label a zobrazujte ji metodou iconwindow.

Stejné jako wm_iconbitmap.

iconify() [#]

Minimalizuje okno do ikony (aniž by ho zrušila). Pro opětovné zobrazení použijte deiconify. Ve Windows se ikona zobrazí ve hlavní liště.

Když je okno ikonifikované, metoda state vrací "iconic".

Stejné jako wm_iconify.

iconmask(bitmap=None) [#]

Nastavuje nebo vrací masku bitmapy ikony, která se použije při minimalizaci. Tato metoda je některými okenními manažery ignorována (včetně Windows).

Stejné jako wm_iconmask.

iconname(newName=None) [#]

Nastavuje nebo vrací jméno ikony, které se použije při minimalizaci. Tato metoda je některými okenními manažery ignorována (včetně Windows).

Stejné jako wm_iconname.

iconposition(x=None, y=None) [#]

Nastavuje nebo vrací pozici ikony, která se používá při minimalizaci. Tato metoda je některými okenními manažery ignorována (včetně Windows).

Stejné jako wm_iconposition.

iconwindow(window=None) [#]

Nastavuje nebo vrací okno ikony, které se použije jako ikona, když se okno minimalizuje. Tato metoda je některými okenními manažery ignorována (včetně Windows).

Stejné jako wm_iconwindow.

window
Nové okno ikony. Pokud je vynecháno, je vráceno současné okno.
maxsize(width=None, height=None) [#]

Nastavuje nebo vrací maximální rozměr okna.

Stejné jako wm_maxsize.

minsize(width=None, height=None) [#]

Nastavuje nebo vrací minimální rozměr okna.

Stejné jako wm_minsize.

overrideredirect(flag=None) [#]

Nastavuje nebo vrací příznak override redirect. Pokud je flag nenulový, zabrání to okennímu manažeru v "dekoraci" okna. Jinými slovy, okno nebude mít záhlaví ani zápatí, a nebude být tak moci být zavřeno či posunuto běžným okenním způsobem.

Stejné jako wm_overrideredirect.

positionfrom(who=None) [#]

Nastavuje nebo vrací ovladač pozice.

Stejné jako wm_positionfrom.

protocol(name=None, func=None) [#]

Registruje volanou funkci pro daný protokol. Parametr name je obvykle jedna z následujících funkcí: "WM_DELETE_WINDOW" (okno je zavíráno), "WM_SAVE_YOURSELF" (voláno X window manažerem, když si aplikace má uložit pracovní nastavení) nebo "WM_TAKE_FOCUS" (voláno X window manažerem, když aplikace dostala focus).

Stejné jako wm_protocol.

resizable(width=None, height=None) [#]

Nastavuje nebo vrací příznak změny velikosti. Příznak šířky určuje, jestli uživatel může měnit velikost okna v podélném směru. Příznak výšky určuje, jestli uživatel může měnit velikost okna ve svislém směru.

Stejné jako wm_resizable.

sizefrom(who=None) [#]

Nastavuje nebo vrací ovladač velikosti okna.

Stejné jako wm_sizefrom.

state(newstate=None) [#]

Nastavuje nebo vrací stav okna. Stav okna může být "normal", "iconic" (viz iconify), "withdrawn" (viz withdraw) nebo "icon" (viz iconwindow).

Stejné jako wm_state.

title(string=None) [#]

Nastavuje nebo vrací titulek okna.

Stejné jako wm_title.

title
Nový titulek okna. Pokud je vynecháno, je vrácen současný.
transient(master=None) [#]

Učiní okno tzv. dočasným pro daného hlavní okno (je-li vynecháno, za hlavní okno se považuje rodič okna) . Dočasné okno je vždy nad svým hlavním oknem a automaticky se skrývá, když je hlavní okno minimalizováno nebo odstraněno. Pod Windows se dočasná okna nezobrazují na hlavní liště.

Stejné jako wm_transient.
withdraw() [#]

Odstraní okno z obrazovky, aniž by ho zavřelo. Pro opětovné zobrazení použijte deiconify.

Když je okno odstraněno, metoda state vrací "withdrawn".

Stejné jako wm_withdraw.

wm_aspect(minNumer=None, minDenom=None, maxNumer=None, maxDenom=None) [#]

Řídí poměr stran. Detaily naleznete u aspect.

wm_attributes(*args) [#]

Nastavuje nebo vrací atributy okna. Detaily naleznete u attributes.

wm_client(name=None) [#]

Nastavuje nebo vrací vlastnost WM_CLIENT_MACHINE. Detaily naleznete u client.

wm_colormapwindows(*wlist) [#]

Nastavuje nebo vrací vlastnost WM_COLORMAP_WINDOWS. Detaily naleznete u colormapwindows .

wm_command(value=None) [#]

Nastavuje nebo vrací vlastnost WM_COMMAND. Detaily naleznete u command.

wm_deiconify() [#]

Zobrazí okno. Detaily naleznete u deiconify.

wm_focusmodel(model=None) [#]

Nastavuje nebo vrací focus model. Detaily naleznete u focusmodel.

wm_frame() [#]

Vrací identifikátor okna, které je nejvyšším rodičem daného okna. Detaily naleznete u frame.

wm_geometry(newGeometry=None) [#]

Nastavuje nebo vrací geometrii okna. Detaily naleznete u geometry.

wm_grid(baseWidth=None, baseHeight=None, widthInc=None, heightInc=None) [#]

Detaily naleznete u grid.

wm_group(pathName=None) [#]

Přidává okna do skupiny oken. Detaily naleznete u group.

wm_iconbitmap(bitmap=None) [#]

Nastavuje nebo vrací bitmapu ikony. Detaily naleznete u iconbitmap.

wm_iconify() [#]

Minimalizuje okno do ikony. Detaily naleznete u iconify.

wm_iconmask(bitmap=None) [#]

Nastavuje nebo vrací masku bitmapy ikony. Detaily naleznete u iconmask.

wm_iconname(newName=None) [#]

Nastavuje nebo vrací jméno ikony. Detaily naleznete u iconname.

wm_iconposition(x=None, y=None) [#]

Nastavuje nebo vrací pozici ikony. Detaily naleznete u iconposition .

wm_iconwindow(pathName=None) [#]

Nastavuje nebo vrací okno ikony. Detaily naleznete u iconwindow.

wm_maxsize(width=None, height=None) [#]

Nastavuje nebo vrací maximální velikost. Detaily naleznete u maxsize.

wm_minsize(width=None, height=None) [#]

Nastavuje nebo vrací minimální velikost. Detaily naleznete u minsize.

wm_overrideredirect(boolean=None) [#]

Nastavuje nebo vrací příznak override redirect. Detaily naleznete u overrideredirect .

wm_positionfrom(who=None) [#]

Detaily naleznete u positionfrom.

wm_protocol(name=None, func=None) [#]

Registruje volanou funkci pro daný protokol. Detaily naleznete u protocol.

wm_resizable(width=None, height=None) [#]

Nastavuje nebo vrací příznak změny velikosti. Detaily naleznete u resizable.

wm_sizefrom(who=None) [#]

Detaily naleznete u sizefrom.

wm_state(newstate=None) [#]

Nastavuje nebo vrací stav okna. Detaily naleznete u state.

wm_title(string=None) [#]

Nastavuje nebo vrací titulek okna. Detaily naleznete u title.

wm_transient(master=None) [#]

Učiní okno tzv. dočasným pro dané hlavní okno. Detaily naleznete u transient .

wm_withdraw() [#]

Odstraní okno z obrazovky. Detaily naleznete u withdraw.


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