TKinter je standardní knihovna pro tvorbu grafického uživatelského rozhraní (GUI) v jazyce Python. Je součástí standardní instalace Pythonu, což znamená, že není potřeba žádná dodatečná instalace, pokud již máte nainstalovaný Python. Stačí knihovnu naimportovat příkazem:
from tkinter import *
Pak můžeme používat libovolné objekty knihovny bez prefixu tkinter
.
S knihovnou TKinter můžete vytvářet různé typy grafických aplikací, jako jsou okenní aplikace, dialogová okna, formuláře, menu a další. Jedná se o jednoduchou a přitom dostatečně výkonnou knihovnu, vhodnou zejména pro začátečníky v tvorbě GUI aplikací. Knihovna TKinter je dobře dokumentovaná a má rozsáhlou komunitu uživatelů, je tedy snadné najít podporu a nápovědu při vývoji aplikací.
Knihovna TKinter poskytuje různé widgety (tj. grafické prvky) a layouty, které umožňují vytvářet různorodé uživatelské rozhraní podle potřeb aplikace.
Widget Canvas
V tomto prvním seznámení si představíme widget Canvas, tj. plátno, na které se dá kreslit a widgety pro popisky a tlačítka. Velice jednoduchý program může vypadat třeba takto:
from tkinter import *
# vytvoření grafického okna
hlavni_okno = Tk()
# popisek hlavního okna a jeho umístění
popisek = Label(hlavni_okno, text=u"GRAFIKA V PYTHONU")
popisek.pack(side=TOP)
# tlačítka hlavního okna a jejich umístění
tlacitko1 = Button(hlavni_okno, text="KONEC", fg="red", command=hlavni_okno.destroy)
tlacitko1.pack(side=BOTTOM)
# plátno, na které je možné kreslit
platno = Canvas(hlavni_okno, width=400, height=400)
platno.pack()
# objekty, které vkládáme na plátno
cara1 = platno.create_line(0, 400, 400, 0, fill = "red")
oval1 = platno.create_oval(10, 10, 100, 150, fill="blue")
text1 = platno.create_text(50, 200, text="Ahoj světe!")
obd1 = platno.create_rectangle(100,100,120,140,fill="yellow")
obl1 = platno.create_arc(300,50,380,180,fill="cyan", style=PIESLICE, start=45)
trojuhelnik = platno.create_polygon(200, 200, 220, 280, 350, 330, fill = "#FF00DD", outline="")
# spuštění grafického okna
hlavni_okno.mainloop()
Tento program vytvoří grafické okno s popiskem, plátnem a na něm nakreslenými objekty a tlačítkem konec na spodu hlavního okna. Poslední příkaz spouští vykreslení hlavního okna se všemi jeho widgety a předání řízení programu smyčce událostí (na tu se podíváme příště).
Horní lišta je součástí hlavního okna.
Pod ní je první widget – popisek (Label). V tuto chvíli je statický, lze ho nicméně za běhu programu měnit.
Uprostřed je další widget – plátno s nakreslenými objekty: ovál (create_oval
), obdélník (create_rectangle
), kruhová výseč (create_arc), čára (create_line
) a trojúhelník (create_polygon
).
Ve spodní části je poslední widget: tlačítko KONEC, které po stisknutí zavolá metodu ukončení hlavního okna.
Příště si do programu přidáme další tlačítka, která po stisknutí vyvolají nějakou konkrétní akci objektu na ploše.