Tkinter
Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od
verze recenzované 18. března 2017; kontroly vyžadují
20 úprav .
Tkinter (z anglického Tk interface ) je multiplatformní událostmi řízená grafická knihovna založená na nástrojích Tk (široce distribuovaná ve světě GNU / Linuxu a dalších UNIXových systémech, také portována na Microsoft Windows ), kterou napsal Steen Lumholt . (Steen Lumholt) a Guido van Rossum [1] . Zahrnuto ve standardní knihovně Pythonu .
Tkinter je svobodný software distribuovaný pod licencí Python
[2] .
Schůzka
Knihovna je navržena tak, aby organizovala dialogy v programu pomocí grafického rozhraní v okně ( GUI ).
Knihovna obsahuje běžné grafické komponenty:
- Toplevel/Tk - Okno nejvyšší úrovně (root widget).
- Rám - Rám. Obsahuje další vizuální komponenty, které se používají k seskupování widgetů.
- Štítek - Štítek. Zobrazí nějaký text nebo grafiku.
- Vstup - Jednořádkové pole pro zadávání textu.
- Text – Formátované pole pro zadávání textu. Umožňuje zobrazovat, upravovat a formátovat text pomocí různých stylů a také vkládat do textu obrázky a okna.
- Plátno - Plátno. Lze jej použít k zobrazení grafických primitiv, jako jsou obdélníky, elipsy, čáry a také text, obrázky a okna.
- knoflík Jednoduché tlačítko pro provedení příkazu a další akce.
- Přepínač - přepínač. Představuje jednu z alternativních hodnot pro nějakou proměnnou. Obvykle se pracuje ve skupině. Když uživatel vybere možnost, zruší se výběr dříve vybrané položky ve stejné skupině.
- Zaškrtávací tlačítko – zaškrtávací políčko. Podobné jako Radiobutton, ale s více možnostmi výběru, které poskytují samostatnou proměnnou pro každou instanci widgetu.
- Měřítko — Měřítko pomocí posuvníku. Umožňuje nastavit číselnou hodnotu posunutím posuvníku.
- Listbox - Seznam. Zobrazí seznam, ze kterého může uživatel vybrat jednu nebo více položek.
- Posuvník – posuvník. Lze je použít spolu s některými dalšími součástmi k jejich posouvání.
- Menu - Menu. Slouží k uspořádání vyskakovacích (vyskakovacích) a rozevíracích (rozbalovacích) nabídek.
- Tlačítko Menu – Tlačítko Menu. Používá se k uspořádání rozbalovací nabídky.
- Zpráva – Zpráva. Podobné jako Label, ale umožňuje zalomit dlouhé čáry a snadno měnit velikost.
- Nabídka možností
- Spinbox
- LabelFrame
- PanedWindow
Je třeba také poznamenat, že Python má sadu dalších nástrojů v následujících modulech:
- Plátno
- Dialog
- FileDialog
- FixTk
- rolovaný text
- jednoduchý dialog
- Tix
- Tkkonstanty
- Tkdnd
- tkColorChooser
- tkCommonDialog
- tkFileDialog
- tkFont
- tkMessageBox
- tkSimpleDialog
- želva
Příklad: Program Hello World
z importu tkinter *
kořen = Tk ()
kořen . název ( "Ahoj světe!" )
kořen . geometrie ( '300x40' )
def button_clicked ():
tisk ( "Ahoj svět!" )
odklopit ( ):
kořen . zničit ()
kořen . skončit ()
button = Button ( root , text = "Press Me" , command = button_clicked )
tlačítko . balení ( naplnit = OBA )
kořen . protokol ( 'WM_DELETE_WINDOW' , zavřít )
kořen . hlavní smyčka ()
Analýza programu
Výše uvedený příklad ukazuje nejjednodušší GUI aplikaci v Pythonu. První řádek programu importuje modul tkinter (před verzí 3.1 jazyka Python byl název modulu tkinter psán v kódu s velkým písmenem - "Tkinter"):
z importu tkinter *
V důsledku importu do jmenného prostoru programu (skriptu) jsou v Tkinter zabudována jména, ke kterým lze přistupovat přímo. Je třeba poznamenat, že hromadný import jmen může vést k jejich konfliktu. Kromě toho trvá tlumočníkovi více času, než v seznamu dostupných jmen najde to správné.
Následující příkaz vytvoří kořenové (kořenové) okno programu (dále jen okno):
kořen = Tk ()
Následující příkaz změní název okna:
kořen . název ( "Ahoj světe!" )
Následující příkaz nastavuje rozměry okna:
kořen . geometrie ( '300x40' )
Následuje definice obslužné rutiny funkce pro událost „stisknuto tlačítko myši“.
def button_clicked ():
print ( "Ahoj světe!" )
Funkce-handler události "zavření hlavního okna". Zastaví hlavní smyčku aplikace a zničí hlavní okno. Bez něj lze program zavřít pouze v případě, že je ukončen proces interpretru Pythonu. Protože funkce používá globální proměnnou root, deklarace samotné funkce musí následovat po deklaraci kořenové proměnné.
def close ():
root . zničit ()
kořen . skončit ()
Vytvořte tlačítko s textem „Press Me“ a svažte jej s výše definovanou funkcí handleru:
button = Button ( root , text = "Press Me" , command = button_clicked )
Vytvořené tlačítko „zabalíme“ pomocí správce rozložení balíčků. fill=BOTH (také fill="both") říká tlačítku, aby zabralo veškerý dostupný prostor (šířku a výšku) na rodičovském kořenovém widgetu:
tlačítko . balení ( naplnit = OBA )
Svažte událost zavření hlavního okna s funkcí close handler:
kořen . protokol ( 'WM_DELETE_WINDOW' , zavřít )
Spustíme hlavní smyčku aplikace:
kořen . hlavní smyčka ()
V důsledku stisknutí tlačítka se na konzole zobrazí zpráva „Hello, World!“. Zpráva se zobrazí při každém stisknutí tlačítka.
Viz také
Poznámky
- ↑ Matt Conway, Tkinter Life Preserver Archivováno 31. května 2016 na Wayback Machine
- ↑ Přehled Tkinter Archivováno 13. listopadu 2013. (Angličtina)
Literatura
- John E Grayson. Programování v Pythonu a Tkinter. - Manning Publications, 1999. - 658 s. — ISBN 9781884777813 .
- Suzi R.A. Vytváření aplikací s grafickým uživatelským rozhraním // The Python Programming Language: A Tutorial. - M .: Intuit, Binom. Vědomostní laboratoř, 2006. - 328 s. — ISBN 5-9556-0058-2 .
Odkazy
Toolkity (sady) prvků GUI |
---|
na nízké úrovni |
|
---|
vysoká úroveň | OS Amiga |
|
---|
MacOS a macOS |
- Kakao
- macapp
- MacZoop
- Elektrárna
|
---|
Okna |
|
---|
UNIX , pod X |
|
---|
Více platforem _ | Na bázi Flash |
|
---|
Založeno na XML, AJAX nebo SVG |
|
---|
Založený na Javě |
|
---|
Založeno na C nebo C++ |
|
---|
Založeno na Common Lisp |
|
---|
Založeno na Pascalu |
|
---|
Založeno na Pythonu |
|
---|
Na základě Objective-C |
|
---|
|
---|
|
---|
Krajta |
---|
Společenství |
|
---|
Implementace |
|
---|
jiný |
|
---|