Python je modulárny programovací jazyk. Základnú sadu príkazov možno rozšíriť rôznymi modulmi. Keď potrebujeme pracovať s grafikou, môžeme si vybrať z veľkého množstva modulov. Oboznámim vás s modulom tkinter.
Príkazy modulu sa sprístupnia príkazom
Začiatky programov, v ktorých budeme používať modul tkinter budú:
Príkaz naimportuje všetky príkazy modulu tkinter.
Príkaz vytvorí plátno na ktoré budeme kresliť. Ak nezadáme šírku a výšku plátna, Python použije preddefinované hodnoty (na rôznych počítačoch môžu byť rôzne).
Šírku a výšku plátna nastavíme parametrami width a height: .
Príkaz zobrazí na monitore prázdne plátno.
Úsečka a séria úsečiek
Okrem bodu je najjednoduchším grafickým objektom úsečka a séria nadväzujúcich úsečiek. Úsečka je spojnica dvoch bodov. Kým v geometrii úsečka má dĺžku, ale nemá šírku, pri kreslení či už ceruzkou alebo na monitore, nakreslená čiara má nejakú minimálnu hrúbku. Príkaz na nakreslenie úsečky v module tkinter je:
Viacero nadväzujúcich úsečiek nakreslíme príkazom:
Nezadali sme hrúbku ani farbu čiary, čiara bude nakreslená hrúbkou jeden pixel čiernou farbou. Parameter pre farbu čiary je fill a pre hrúbku čiary je width. Ak by sme chceli nakresliť zelený trojuholník s hrúbkou čiary 5, použijeme príkaz:
Vykreslí sa:
Nakreslenie obdĺžnika a štvorca
Obdĺžnik, ktorého hrany sú rovnobežné s okrajmi plátna nakreslíme príkazom: , mohli by sme ho nakresliť aj pomocou príkazu , ale museli by sme použiť päť súradníc rohových bodov namiesto dvoch. V príkaze tiež možno použiť parametre width a fill. Parameter fill vyplní vnútro obdĺžnika zvolenou farbou. Pokiaľ by sme chceli, aby vnútro malo inú farbu ako strany obdĺžnika, použijeme parameter outline. Ak parameter outline nepoužijeme, strany obdĺžnika budú nakreslené čiernou farbou. Príkaz:
nakreslí takýto obdĺžnik:
Elipsa a kružnica
Elipsu vpísanú do obdĺžnika alebo kružnicu vpísanú do štvorca nakreslíme príkazom:
Súradnice zodpovedajú súradniciam z príkazu pre vytvorenie obdĺžnika. Ak použijeme rovnaké súradnice, ako pri kreslení obdĺžnika, elipsa bude doň vpísaná: a výsledný obrázok bude:
Grafické útvary ako objekty
Pri kreslení záleží na tom, v akom poradí objekty kreslíme. Ak najprv nakreslíme kružnicu a potom štvorec do ktorého je vpísaná, kružnicu nebude vidno, ak to spravíme naopak, tak ju vidno bude.
Modul tkinter kreslí geometrické útvary ako objekty. Každý príkaz vytvorí objekt s príslušnými parametrami. S týmito objektami môžeme dodatočne vykonať rôzne operácie. Objekt pri vytvorení získa identifikátor, ktorý zodpovedá poradiu vytvorenia objektu. S objektom môžeme manipulovať pomocou tohto identifikátora. Ak náš program bude vyzerať takto:
import tkinter
platno = tkinter.Canvas(height=400,width=400)
platno.pack()
platno.create_line(10, 100, 200, 100, 10, 200,10,100,
width=5,fill=’green‘)
platno.create_oval(220,50,320,200,fill=’green‘,width=5,
outline=’yellow‘)
platno.create_rectangle(220,50,320,200,fill=’red‘,
width=5, outline=’yellow‘)
Na plátne bude zobrazený iba trojuholník a obdĺžnik. V skutočnosti je na plátne aj elipsa, ale ju nevidno, lebo na nej „leží“ obdĺžnik.
Ak v príkazovom riadku napíšeme príkaz:
, tak objekt obdĺžnik zrušíme a elipsa sa zobrazí. Dostaneme obrázok:
Práca s textom v module tkinter
Často potrebujeme popri grafických objektoch vypísať na obrazovku aj nejaké texty. Textu na plátno napíšeme príkazom: create_text(x,y,text=“xyz“)