Tlačítka (objekty třídy Button) jsou jedním z widgetů, které můžeme používat v grafickém rozhraní generovaného s použitím knihovny TKinter. Tlačítko je svázáno s nějakou akcí prostřednictvím parametru command, jemuž předáme jméno podprogramu, který bude akci stisknutí tlačítka obsluhovat.
tlacitko = Button(hlavni_okno, text="AKCE", fg="blue", command=akce1)
Ta musí být definována před deklarací tlačítka v programu, nejjednodušší pro začátek bude, když bude bez parametrů.
def akce1():
print("Stisknuto tlačítko AKCE")
Konkrétní použití si opět ukážeme na programu, který bude přesouvat po plátně zelený trojúhelník:
Akce tlačítka
from tkinter import * from random import * # vytvoření hlavního okna aplikace hlavni_okno = Tk() # widget hlavního okna: Popisek hlavního okna a jeho umístění popisek = Label(hlavni_okno, text=u"GRAFIKA V PYTHONU") popisek.pack(side=TOP) # widget hlavního okna: plátno, na které je možné kreslit platno = Canvas(hlavni_okno, width=256, height=256) platno.pack() # objekty, které vkládáme na plátno x1 = 100 y1 = 100 troj1 = platno.create_polygon(x1, y1, x1-10, y1+10, x1+10, y1+10,fill="green", outline="black") # Akce tlačítek: něco se stane, když se stiskne tlačítko def kresli(): global platno, troj1 platno.delete(troj1) x1 = randint(10, 245) y1 = randint(10, 245) troj1 = platno.create_polygon(x1, y1, x1-10, y1+10, x1+10, y1+10,fill="green", outline="black") # 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=RIGHT) tlacitko2 = Button(hlavni_okno, text="PŘESUŇ!", fg="blue", command=kresli) tlacitko2.pack(side=LEFT) # spuštění hlavního okna aplikace hlavni_okno.mainloop()
Výstup programu pak bude vypadat následovně:

Program vykreslí zelený trojúhelník na zadaných počátečních souřadnicích.
Při stisku tlačítka Přesuň! podprogram kresli():
- dosavadní trojúhelník z plátna smaže
- vygeneruje nové souřadnice s pomocí knihovny random
- trojúhelník znovu vykreslí na nových souřadnicích
Trojúhelník se uchovává jako objekt v globální proměnné, podprogramu ho zpřístupníme direktivou global.
Program lze vynecháním (zakomentováním) jediného řádku změnit tak, že se zelený trojúhelník nepřesouvá, ale duplikuje na plátně. Samozřejmě tak, jak je program nyní postaven, ztrácíme odkazy na jednotlivé objekty, nicméně i to lze následně vyřešit dalšími metodami plátna (Canvas) jako např. platno.find_all().

Nyní už umíme propojit tlačítka s obslužnými akcemi. Příště si přidáme ovládání objektu pomocí událostí klávesnice.
