Tkinter
Dialogy a okna se zprávou
Tkinter poskytuje řadu dialogových a informačních oken, které mohou být použity pro zobrazení zprávy, varování či chyby, jakož i widgety pro výběr souborů a barev. Existují také dialogová okna, žádající uživatele o zadání řetězce, celého nebo desetinného čísla.
Pohleďme na typickou seanci GUI s dialogy a informačními okny. Můžeme začít tlačítkem, které dialog otevírá, jako je tlačítko "Quit" v následujícím okně:
Stisknutí tlačítka "quit" otevře ověřovací (verify) okno:
Předpokládejme, že chceme varovat uživatele, že tlačítko "quit" není ještě zavedeno. V tom případě můžeme použít varovnou zprávu pro uživatele, který stiskl tlačítko "yes":
Pokud někdo zvolí tlačítko "No", otevře se informační okno se sdělením "Quit has been cancelled":
Vraťme se zpátky k našemu prvnímu dialogu s tlačítky "quit" a "answer". Není-li funkcionalita volby "Answer" zavedena, mohlo by být užitečné použít následující okno se zprávou o chybě:
Všech pět dialogových oken vytvoří tento skriptík:
from tkinter import *
from tkinter.messagebox import *
def answer():
    showerror("Answer", "Sorry, no answer available")
def callback():
    if askyesno('Verify', 'Really quit?'):
        showwarning('Yes', 'Not yet implemented')
    else:
        showinfo('No', 'Quit has been cancelled')
Button(text='Quit', command=callback).pack(fill=X)
Button(text='Answer', command=answer).pack(fill=X)
mainloop()
Zkuste si jednotlivá okénka opatřit českými texty.
Dialogová okna
Dialogová okna (message boxes) jsou poskytována modulem tkinter.messagebox, který je nutné importovat.Modul tkinter.messagebox obsahuje následující funkce, které odpovídají jednotlivým dialogovým oknům:
- askokcancel(title=None, message=None, **options)
Ptát se, má-li operace pokračovat; vrátit True, je-li odpověď OK. - askquestion(title=None, message=None, **options)
Položit otázku. - askretrycancel(title=None, message=None, **options)
Ptát se, má-li být operace opakována; vrátit True, je-li odpověď YES - askyesno(title=None, message=None, **options)
Položit otázku; vrátit True, je-li odpověď YES - askyesnocancel(title=None, message=None, **options)
Položit otázku; vrátit True, je-li odpověď YES, vrátit None, je-li odpověď "Cancel" - showerror(title=None, message=None, **options)
Zobrazit chybovou zprávu - showinfo(title=None, message=None, **options)
Zobrazit informaci - showwarning(title=None, message=None, **options)
Zobrazit varování 
V následující ukázce uvidíme evokaci dialogového okna změnou zatržítka prostřednictvím kontrolní proměnné:
from tkinter import*
from tkinter.messagebox import*
root = Tk()
cbox_val = IntVar() # The control variable
def cbox_clicked():
    if cbox_val.get() == 1:
        showinfo('HAL9000', 'evil module disabled')
    else:
        showwarning('HAL9000', 'evil module enabled')
cbox = Checkbutton(root, text='Disable homicidal computer',
                   variable=cbox_val, command=cbox_clicked)
cbox.pack()
root.mainloop()
Dialog pro otevření souboru
Sotva existuje seriozní aplikace, která nepotřebuje číst ze souboru nebo do souboru zapisovat. Navíc taková aplikace může potřebovat výběr adresáře. Pro tyto účely má Tkinter k disposici modul tkinter.filedialog.
from tkinter import *
from tkinter.filedialog import askopenfilename      
def callback():
    name= askopenfilename() 
    print (name)
    
errmsg = 'Error!'
Button(text='Open', command=callback).pack(fill=X)
mainloop()
Výše uvedený kód vytvoří okno s jediným tlačítkem a nápisem "Open". Je-li tlačítko stlačeno, objeví se následující okno:
Vzhled dialogu "open" závisí na GUI operačního systému. Uvedený příklad byl vytvořen s použitím prostředí gnome v Linuxovém desktopu. Spustíme-li stejný program ve Windows 7, vypadá takto:
Výběr barvy
Jsou aplikace, ve kterých má mít uživatel možnost výběru různých barev. Tkinter poskytuje vyskakovací (pop-up) menu pro výběr barvy. Za tímto účelem musíme importovat modul tkinter.colorchooser a použít metodu askcolor:
result = tkintercolorchooser.askcolor ( color,
                             option=value, ...)
Stiskne-li uživatel tlačítko OK, vrátí metoda askcolor() dvojici hodnot, které jsou obě prezentací vybrané barvy, např. ((106, 150, 98), '#6a9662') První hodnotou je entice (R,G,B) prezentující podíly RGB v dekadických číslech od 0 do 255. Druhou hodnotou je hexadecimální prezentace vybrané barvy.
Stiskne-li uživatel "Cancel", vrátí metoda entici (None,None).
Klíčové (keyword) parametry jsou:
| color | Tato proměnná se použije pro určení implicitní zobrazované barvy. Není-li barva určena, je počáteční barvou šedá. | 
| title | Text, přiřazený proměnné "title", se objeví v záhlaví vyskakovacího okna. Implicitní název je "Color". | 
| parent | Určí okno, nad kterým se vyskakovací okno objeví. Implicitně se objeví nad kořenovým oknem. | 
Podívejme se na příklad:
from tkinter import *
from tkinter.colorchooser import askcolor                  
def callback():
    result = askcolor(color="#6A9662", 
                      title = "Bernd's Colour Chooser") 
    print (result)
    
root = Tk()
Button(root, 
       text='Choose Color', 
       fg="darkgreen", 
       command=callback).pack(side=LEFT, padx=10)
Button(text='Quit', 
       command=root.quit,
       fg="red").pack(side=LEFT, padx=10)
mainloop()
Vzhled závisí na operačním systému (Linux či Windows) a na zvoleném GUI (GNOME, KDE a pod). Následující okno se vynoří, použijete-li Gnome:
Použití totožného skriptu ve Windows 7 dává následující výsledek: