Grafické rozhraní
Modul Tkinter Pro práci s grafickým rozhraní využíváme modul Tkinter Po naimportováni modulu můžeme vytvářet velice jednoduše tlačítka, zaškrtávací políčka, texty.
Modul Tkinter – label (popisky) Jestliže budeme chtít do našeho grafického výstupu napsat například větu, tak se jedná o takzvaný Label Widget. root = Tk() – tímto příkazem vytvoříme nové prázdné okno veta.pack() –metoda pack přizpůsobí velikost okna velikosti daného textu root.mainloop() – tímto příkazem se naše okno zobrazí
Modul Tkinter – label (popisky) Popisky nemusí být jen věty (slova´), ale můžeme také vkládat obrázky do našeho okna. Musíme mít obrázek uložen ve formátu.gif nebo PPM/PGM Parametr "justify" lze použít pro zarovnání textu vlevo, vpravo, na střed (LEFT, RIGHT či CENTER). Parametr "padx" použijeme pro přidání dodatečné horizontální výstelky kolem textového popisku.
Modul Tkinter – label (popisky) Popisky můžeme mít v různých barvách i fontech. Barevná změna pozadí se uvozuje zkratkou bg a změna barvy písma fg. Barvy se zadávají anglickými ekvivalenty nebo jejich číselnými kódy začínající #.
Modul Tkinter – Message (zprávy) Message se používá k zobrazení krátkých textových práv a funguje podobně jako předchozí label. Text zpráv se automaticky zalamuje do zarovnaných řádků.
Modul Tkinter – Text Text se používá pro zadání víceřádkové textové oblasti. Je velice všestranný. Je často používán ve formulářích či webových prohlížečích. Pozor, budeme-li mít delší text a předem zadáme rozměry výstupu, tak se nám zobrazí jen jeho část
Modul Tkinter – Text - Scrollbar Problém s dlouhými lze vyřešit například posuvníkem (Scrollbar)
Modul Tkinter – Button Button (tlačítko) je hojně využívaná funkce Tlačítka umožňují interaktivní komunikaci s uživatelem. Stiskem tlačítka prostřednictvím myši může být spuštěna nějaká akce. Tlačítka mohou také obsahovat text a obrázky, stejně jako popisky (labels). Zatímco však text v popiscích může být zobrazen různými fonty, v tlačítku lze použít pouze jeden font. Text tlačítka ale může mít více řádků.
Modul Tkinter – Button Přiřazení funkce tlačítku:
Modul Tkinter – Proměnné Proměnná v Tkinteru je specielní objekt pro uložení hodnoty. Tato proměnná může být sdílena více widgety a registruje, které widgety se na ní odkazují. Na rozdíl od Pythonu musíme typ proměnné předem deklarovat a to použitím některé ze čtyř tříd (odvozených od třídy Variable): x = StringVar() pro řetězec, implicitní hodnota je "" x = IntVar() pro integer, implicitní hodnota je 0 x = DoubleVar() pro číslo float, implicitní hodnota je 0.0 x = BooleanVar() pro hodnotu Bool, vrací 0 a 1 Pro zjištění aktuálních hodnot těchto proměnných použijeme metodu.get(). Hodnotu proměnné lze změnit metodou.set(value). Další příklady použití proměnných lze jsou popsány v Radiobutton a Checkbox.
Modul Tkinter – Radiobutton Radionbutton je výběrové tlačítko. Tento grafický prvek nám umožňuje vybrat jedenu z více variant. Opět se nám v i v tomto případě nemusí zobrazovat jen text, ale i nejrůznější obrázky. Každá skupina radiových tlačítek musí být spojena s touž proměnnou. Stlačení tlačítka změní hodnotu této proměnné na jinou, přednastavenou hodnotu.
Modul Tkinter – Radiobutton Příklad, kdy se nám uloží stav zatržítka po zavření okna: from tkinter import* root = Tk() zatrzitko = StringVar() zatrzitko1 =Checkbutton(root, text='Je duben?', variable = zatrzitko, onvalue='ano', offvalue='ne') zatrzitko1.pack() root.mainloop() print(zatrzitko.get()) Když dám ano – nic se nevytiskne???
Modul Tkinter – Radiobutton Příklad, kdy máme vytvořit jen pár odpovědí: from tkinter import *
Modul Tkinter – Radiobutton Máme-li více variant odpovědí je lepší využít cyklu for:
Modul Tkinter – Radiobutton Předchozí příklad můžeme také zobrazit texty v rámečku místo kruhových otvorů:
Modul Tkinter – Radiobutton Předchozí příklad můžeme také zobrazit texty v rámečku místo kruhových otvorů:
Modul Tkinter – Checkbox (Checkbutton) Checkboxy na rozdíl od Radionbuttonů umožňují zatržení více než jedné odpovědi. Obvykle se nezobrazují jako kolečka, nýbrž jako prázdné čtverečky. Objekt třídy Checkbutton může obsahovat víceřádkový text s jedním fontem nebo obrázek. Widget může být spojen s funkcí nebo metodou Pythonu, aktivovanou stisknutím tlačítka.
Modul Tkinter – Checkbox (Checkbutton)
ParametrVýznam anchorSměr, ve kterém má být text ve widgetu umístěn: N, NE, E, SE, S, SW, W, NW, nebo CENTER. Implicitně je CENTER. aspectPoměr zobrazení - je daný poměrem šířky (width) k výšce (hight) v procentech. Implicitní hodnota je 150, to znamená, že zpráva bude o 50% širší než je její výška. Pokud je šířka explicitně určena, je tento parametr ignorován. background, bgBarva pozadí zprávy. Implicitní hodnota je systémově určena. borderwidth, bdŠířka ohraničení. Implicitní hodnota je 2. commandOdkazuje na metodu, která má být evokována při výběru objektu. Lze uplatnit u widgetů Button, Checkbutton, Radiobutton, Scale a Spinbox. cursorUrčuje typ kurzoru, zobrazovaného při jeho přechodu přes widget zprávy. Implicitně se použije standardní kurzor. fontFont zprávy. Implicitní hodnota je systémově určena. foreground, fgBarva textu. Implicitní hodnota je systémově určena. highlightbackgroundSpolečně s highlightcolor a highlightthickness, tento parametr určuje, jak bude vykreslena zvýrazněná oblast. highlightcolorViz highlightbackground. highlightthicknessViz highlightbackground. justifyUrčuje polohu textu v řádku. Můžete zadat LEFT, RIGHT nebo CENTER. Vězte, že pro určení polohy celého bloku textu uvnitř widgetu použijete parametr "anchor". Implicitně je nastaveno LEFT. padxHorizontální výstelka. Implicitně je -1 (no padding). padyVertikální výstelka. Implicitně je -1 (no padding). reliefTvar ohraničení. Implicitní je FLAT (ploché). Další možné hodnoty SUNKEN (zapuštěné), RAISED (zvednuté), GROOVE (rýha), a RIDGE (výstupek). takefocusMá-li hodnotu True, přijímá widget focus (zaměření) pro vstup. Implicitně je False. textText zprávy. Je-li třeba, provede widget zalomení řádku aby byl dodržen zadaný poměr zobrazení (aspect ratio). textvariablePropojí proměnnou Tkinteru (jíž je obvykle StringVar) se zprávou. Při změně hodnoty proměnné je text zprávy aktualizován. widthŠířka widgetu udaná počtem znaků. Není-li tento parametr zadán, vybere se automaticky vhodná šířka, odpovídající nastavenému poměru zobrazení.
Děkuji za Vaši pozornost