Tkinter
Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2017. március 18-án áttekintett
verziótól ; az ellenőrzések 20 szerkesztést igényelnek .
A Tkinter (az angol Tk interface szóból ) egy többplatformos eseményvezérelt grafikus könyvtár, amely Tk -eszközökön alapul (széles körben elterjedt a GNU / Linux és más UNIX -szerű rendszerek világában, Microsoft Windowsra is portolva ), írta Steen Lumholt. (Steen Lumholt) és Guido van Rossum [1] . A Python szabványos könyvtárában található .
A Tkinter egy Python
licenc alatt terjesztett ingyenes szoftver [2] .
Időpont
A könyvtár célja, hogy párbeszédablakokat szervezzen egy programban egy ablakos grafikus felület ( GUI ) segítségével.
A könyvtár gyakori grafikus összetevőket tartalmaz:
- Felső szintű/Tk - Felső szintű ablak (gyökér widget).
- Keret – keret. Egyéb vizuális komponenseket tartalmaz, amelyek a widgetek csoportosítására szolgálnak.
- Címke – Címke. Szöveget vagy grafikát jelenít meg.
- Bejegyzés – Egysoros szövegbeviteli mező.
- Szöveg – formázott szövegbeviteli mező. Lehetővé teszi szöveg megjelenítését, szerkesztését és formázását különféle stílusok használatával, valamint képek és ablakok beágyazását a szövegbe.
- Vászon - vászon. Használható grafikus primitívek, például téglalapok, ellipszisek, vonalak, valamint szövegek, képek és ablakok megjelenítésére.
- gomb Egy egyszerű gomb parancsok és egyéb műveletek végrehajtásához.
- Rádiógomb – Kapcsoló. Egyik változó alternatív értékét jelenti. Általában csoportban dolgozik. Amikor a felhasználó kiválaszt egy opciót, az ugyanabban a csoportban korábban kiválasztott elem kijelölése törlődik.
- Ellenőrző gomb – jelölőnégyzet. Hasonló a Radio Buttonhoz, de többféle kiválasztási lehetőséggel, külön változót biztosítva minden widget-példányhoz.
- Skála — Méretezés csúszkával. Lehetővé teszi számérték beállítását a csúszka mozgatásával.
- Listbox – Lista. Megjelenít egy listát, amelyből a felhasználó kiválaszthat egy vagy több elemet.
- Görgetősáv – Görgetősáv. Használható más összetevőkkel együtt görgetésükhöz.
- Menü – Menü. Előugró (popup) és legördülő (legördülő) menük szervezésére szolgál.
- Menügomb – Menü gomb. Legördülő menü rendszerezésére szolgál.
- Üzenet – Üzenet. Hasonló a címkéhez, de lehetővé teszi a hosszú sorok tördelését és az egyszerű átméretezést.
- OptionMenu
- Spinbox
- Címke keret
- PanedWindow
Azt is meg kell jegyezni, hogy a Python további eszközökkel rendelkezik a következő modulokban:
- Vászon
- Párbeszéd
- FileDialog
- FixTk
- görgetett szöveg
- egyszerű párbeszédpanel
- Tix
- Tkconstants
- Tkdnd
- tkColorChooser
- tkCommonDialog
- tkFileDialog
- tkFont
- tkMessageBox
- tkSimpleDialog
- teknősbéka
Példa: Hello World program
tkinter importból * _
gyökér = Tk ()
gyökér . cím ( "Hello World!" )
gyökér . geometria ( '300x40' )
def button_clicked ():
print ( "Hello World!" )
defclose ( ):
gyökér . elpusztítani ()
gyökér . kilép ()
button = Gomb ( gyökér , szöveg = "Nyomja meg" , parancs = gomb_kattintott )
gomb . csomag ( kitöltés = MINDKÉT )
gyökér . protokoll ( 'WM_DELETE_WINDOW' , bezárás )
gyökér . főhurok ()
A program elemzése
A fenti példa a Python legegyszerűbb grafikus felhasználói felületét mutatja be. A program első sora importálja a tkinter modult (a Python nyelv 3.1-es verziója előtt a tkinter modul nevét nagybetűs kóddal írták - "Tkinter"):
tkinter importból * _
A program névterében (script) történő importálás eredményeként a Tkinterbe olyan nevek vannak beépítve, amelyek közvetlenül elérhetők. Meg kell jegyezni, hogy a nevek tömeges importálása konfliktushoz vezethet. Ráadásul több időbe telik, amíg a tolmács megtalálja a megfelelőt a rendelkezésre álló nevek listájában.
A következő parancs létrehozza a program gyökér (root) ablakát (a továbbiakban: ablak):
gyökér = Tk ()
A következő parancs megváltoztatja az ablak címét:
gyökér . cím ( "Hello World!" )
A következő parancs beállítja az ablak méreteit:
gyökér . geometria ( '300x40' )
A következő a funkciókezelő definíciója a "lenyomott egérgomb" eseményhez.
def button_clicked ():
print ( "Hello World!" )
Az esemény "főablak bezárása" funkciókezelője. Leállítja az alkalmazás fő hurkát és tönkreteszi a fő ablakot. Enélkül a program csak akkor zárható be, ha a Python interpreter folyamat leáll. Mivel a függvény a root globális változót használja, magának a függvénynek a deklarációjának a gyökérváltozó deklarációja után kell jönnie .
def close ():
gyökér . elpusztítani ()
gyökér . kilép ()
Hozzon létre egy gombot a "Nyomja meg" szöveggel, és kösse össze a fent meghatározott kezelő funkcióval:
button = Gomb ( gyökér , szöveg = "Nyomja meg" , parancs = gomb_kattintott )
A létrehozott gombot a csomagelrendezés-kezelővel „becsomagoljuk”. fill=BOTH (a fill="mindkettő" is) azt mondja a gombnak, hogy a szülő gyökér widgeten az összes rendelkezésre álló helyet (szélesség és magasság) foglalja el:
gomb . csomag ( kitöltés = MINDKÉT )
Kösse össze a főablak bezárási eseményét a bezáráskezelő funkcióval:
gyökér . protokoll ( 'WM_DELETE_WINDOW' , bezárás )
Elindítjuk az alkalmazás fő hurkát:
gyökér . főhurok ()
A gomb megnyomása hatására a „Hello, World!” üzenet jelenik meg a konzolon. Az üzenet a gomb minden egyes megnyomásakor megjelenik.
Lásd még
Jegyzetek
- ↑ Matt Conway, Tkinter Life Preserver archiválva : 2016. május 31. a Wayback Machine -nél
- ↑ Tkinter áttekintése Archivált : 2013. november 13. (Angol)
Irodalom
- John E Grayson. Python és Tkinter programozás. - Manning Publications, 1999. - 658 p. — ISBN 9781884777813 .
- Suzi R.A. Alkalmazások létrehozása grafikus felhasználói felülettel // A Python programozási nyelv: oktatóanyag. - M . : Intuit, Binom. Tudáslaboratórium, 2006. - 328 p. — ISBN 5-9556-0058-2 .
Linkek
GUI elemek eszközkészletei (készletei) . |
---|
alacsony szintű |
|
---|
magas szintű | Amiga OS |
|
---|
MacOS és macOS |
- Kakaó
- macapp
- MacZoop
- Erőmű
|
---|
ablakok |
|
---|
UNIX , X alatt |
|
---|
Több platform _ | Flash alapú |
|
---|
XML, AJAX vagy SVG alapú |
|
---|
Java alapú |
|
---|
C vagy C++ alapján |
|
---|
Common Lisp alapján |
|
---|
Pascal alapján |
|
---|
Python alapján |
|
---|
Az Objective-C alapján |
|
---|
|
---|
|
---|
Piton |
---|
Közösség |
|
---|
Megvalósítások |
|
---|
Egyéb |
|
---|