A grafikus felhasználói felület (angolul Graphical User Interface, röviden GUI) a számítástechnikában olyan, a számítógép és ember közti kapcsolatot megvalósító elemek összessége (Human machine interface, HMI), melyek a monitor képernyőjén szöveges és rajzos elemek együtteseként jelennek meg. A grafikus felhasználói felületeken alapvető szerepe van a mutatóeszközök, például az egér használatának, amelyekkel a grafikus felület elemei intuitív módon, a fizikai világ egyfajta modelljeként kezelhetők.
A leggyakoribb grafikus felhasználói elemek az ablakok, menük, választógombok, jelölőnégyzetek és ikonok, összefoglaló nevükön widgetek, valamint a mutatóeszközhöz kapcsolódó egérkurzor.
Widget
A widget angol nyelvű szóösszevonás, tagjai: window (ablak) és gadget (kb. kütyü). Az egyes digitális felületeken (pl. programok, alkalmazások kezelőfelületein, website-ok felhasználói és adminisztrációs kezelőfelületein stb.) megjelenő kisebb, kompakt funkcionális elemek (pl. nyomógomb, checkbox, hírgyűjtő ablak stb.) gyűjtőneve.
A tkinter, a Python beépített grafikus könyvtára
A grafikus könyvtár (library) olyan szoftvereszközkészlet, amely különböző GUI-elemek funkcionalitását meghatározó osztályok gyűjteményét tartalmazza. Ezek a grafikus könyvtárak általában C/C++ nyelven íródnak. Sokukat importálható modulok formájában átültették Pythonra. A tkinter widgeteknek 15 alaposztálya létezik:
Button | Klasszikus nyomógomb, valamilyen utasítás végrehajtásának az előidézésére használják. |
Canvas | Különböző grafikus elemek elhelyezésére szolgáló felület. Rajzolásra, grafikus szerkesztők létrehozására és testre szabott widgetek implementálására is használhatjuk. |
Checkbutton | Egy jelölőnégyzet, aminek két különböző állapota lehet (a négyzet ki van jelölve vagy nincs kijelölve). Egy klikkelés a widgeten állapotváltozást idéz elő. |
Entry | Adatbeviteli mező, amibe a felhasználó bármilyen szöveget beírhat. |
Frame | Egy téglalap alakú felület az ablakban, ahova más widgeteket tehetünk. Ez a felület színes lehet. Szegélye is lehet. |
Label | Valamilyen szöveg (vagy címke) (esetleg egy kép). |
Listbox | A felhasználónak általában valamilyen doboz formájában felajánlott választéklista. A Listboxot úgy is konfigurálhatjuk, hogy vagy egy rádiógomb vagy egy jelölőnégyzet sorozatot tartalmazzon. |
Menu | Menü. Lehet címsorhoz kapcsolódó legördülő menü, vagy egy kattintás után akárhol feljövő úszó « pop up » menü. |
Menubutton | Menügomb, amit legördülő menük implementálására használnak. |
Message | Szöveg kiírását teszi lehetővé. A Label widget egy változata, ami lehetővé teszi, hogy a kiírt szöveg automatikusan egy bizonyos mérethez, vagy szélesség/magasság arányhoz igazodjon. |
Radiobutton | (Egy fekete pont egy kis körben.) Egy változó lehetséges értékeit reprezentálja. Az egyik rádiógombra való kattintás az annak megfelelő értéket adja a változónak. |
Scale | Egy kurzornak egy skála mentén való mozgatásával teszi láthatóvá egy változó értékének a változtatását. |
Scrollbar | A görgető sort más widgetekhez (Canvas, Entry, Listbox, Text) kapcsolva használhatjuk. |
Text | Formázott szöveg kiírása. A felhasználónak is lehetővé teszi a kiírt szöveg formázását. Képeket is be lehet szúrni. |
Toplevel | Egy külön, felülre kiírt ablak. |
Az itt következő leírásból a tkinter használatát ismerheted meg, a GUI-alapú Python programok fejlesztéséhez. A tkinter a Fredrik Lundh által kifejlesztett Tcl-Tk GUI eszközkészlet Python portja, annak Pythonra optimalizált változata. Ezt a modult a Python szabványos disztribúciói tartalmazzák minden platformon, Windows, Linux, macOS.
A cikk folytatása: http://www.malnasuli.hu/python/kiindulo-gui-alkalmazas-az-elso-ablakunk-tkinter-2-resz/