Minule jsme si řekli něco málo o Tkinteru. Tkinter je tedy standardní grafické rozhraní ke grafickému uživatelskému prostředí Tk. V současnosti má verzi 8.5. Chcete-li s ním pracovat, musíte ho nejdříve do svého scriptu naimportovat pomocí "import Tkinter" nebo "from Tkinter import *".
Jistě si pamatujete náš první program "Ahoj světe!". Nyní si jej ukážeme jak jej vytvořit spuštěný v grafickém okně jako na obrázku výše.
Widget
Termín Widget se používá v Pythonu pro veškeré prvky, znamená to tedy jakýkoliv grafický prvek - tedy třeba jakýkoliv text v okně, jakékoliv tlačítko, menu, také samotné okno, apod. Toto vše je tedy náš widget. Hlavní okno je normální okno s titulkem, které tam dodává váš systém, jako např. Minimalizace, Maximalizace, Zavřít.
Zde je zdrojový kód miniprogramu Ahoj světe!:
# -*- coding: utf-8 -*-
from Tkinter import *
root = Tk()
w = Label(root, text="Ahoj světe!")
w.pack()
root.mainloop()
print "Konec"
Program
# -*- coding: utf-8 -*-
- Tento řádek znamená použité kódování v porgramu. Toto kódování je třeba také nastavit v editoru pro správné zobrazování znaků. I tak ale můžem používat jakékoliv kódování. Doporučuji používat kódování utf-8, které se používá nejvíce a je tak nejrozšířenější. Nezapomeňte tedy, ať to máte v tom kódování také vloženo, v opačném případě čeština nebude fungovat.
[Coding = kódování]
from Tkinter import *
- Tento řádek je jednoduchý, ukazuje která knihovna je importována. Hvězdička značí, že celkový obsah z knihovny Tkinter má být zpřístupněn. V případě, že takovouto knihovnu nemáme přidanou, vygeneruje se chyba. V této knohvně jsou obsaženy všechny funkce, které potřebujeme k vytváření GUI prvků (oken, menu, obrázků a všech akcí - reakce na události, které s nimi pak můžeme dělat).
[from = z,od; import = importovat,vkládat]
root = Tk()
- Inicializace Tkinteru, kde vytváříme hlavní okno v Tkinteru.
[root = kořen, základ, původ]
w = Label(root, text="Ahoj světe!")
- Dále vytvoříme widget s pojmenováním Label. Ten se stane potomkem okna -> root. Widget Label se používá pro zobrazení textu nebo ikony. Text, což je argument funkce, bude nastavovat zobrazovací text očividně.
[label = štítek, popisek]
w.pack()
- Metoda pack() zabezpečí, aby okno bylo veliké akorát s veliksotí našeho textu a zviditelní ho. Tuto metodu můžeme samozřejmě nastavit podle našeho gusta. Můžete používat volby jako fill, expand a side, pomocí kterých tohoto správce řídíte. Celkově se toto slovy těžce popisuje a tak by bylo lepší aby si jednotlivci programátoři vyzkoušeli doma nastavovat hodnoty. Rozhodl jsem se také věnovat další díl této metodě, protože je klíčová pro rozvržení obejktů. Existuje ještě jeden správce rozvržení a to s názvem Grid, který umísťuje Widgety do neviditelné mřížky protože rodičovský Widget je rozdělen na řádky a sloupce.
[pack = zabalit]
root.mainloop()
- Hlavní okno, ze kterého ostatní Widgety dědí, se nezobrazí dokud nevstoup