A Tkinter egy grafikus felhasználói felület (GUI) eszköztár, amelyet ki kell próbálni, ha fel akarja fedezni a Python erejét az asztali alkalmazások létrehozásában.
Itt megnézzük a Tkinter GUI modul alapjait.
Tkinter Setup
Általában nem kell telepíteni tkinter külön, ha a Python egy újabb verzióját telepítette, kezdve a Python 3-mal. Lehet, hogy a könyvtár nem működik a régi Python verziókkal. Ez általános probléma a Mac és a Linux felhasználók számára, mivel ezekhez az operációs rendszerekhez alapértelmezés szerint a Python régebbi verziói tartoznak.
Általában a tkinter modult, győződjön meg róla, hogy letölti és telepíti a hivatalos legújabb Python kompatibilis verziót a számítógépére python.org weboldal.
Ha Mac számítógépet használ, akkor letöltheti az ActiveTcl legújabb verzióját, a tkinter fordító ActiveState.
Hogyan kell használni a Tkintert
A Tkinter a beépítettségétől függ TK osztály. És a GUI-n belüli összes eseményt a mainloop. Így a mainloop burkoló teszi a tkinter futtatható kód.
Kezdeni tkinter:
a tkinter importból Tk
Tk (). Mainloop ()
A fenti kód futtatása egy üreset eredményez tkinter keret.
A Tkinter testreszabási tulajdonságai azonban a beépített widgetekben vannak.
Ezeknek a moduloknak a használatához importálhatja őket tkinter pótlásával a tkinter importból Tk val vel:
a tkinter importból *
t = Tk ()
t.mainloop ()
Az ablak méretét a gombbal is módosíthatja geometria függvényt, majd adja meg a címet a cím widget tkinter:
t = Tk ()
t.geometria ("600x600")
t.title ("Tk bemutató")
t.mainloop ()
A Tkinter segítségével egyszerű szövegeket írhat közvetlenül a grafikus felületre a Címke widget:
t = Tk ()
Címke (t, text = "MUO Tkinter tutorial"). Rács ()
t.mainloop ()
A rács() módszer azonban alternatívája a csomag() módszer. Ragasztja a kütyüket a grafikus felületre, és láthatóvá teszi őket.
Fontot is megadhat a Címke szöveg:
t = Tk ()
Címke (t, text = "MUO Tkinter tutorial", font = (60)). Rács ()
t.mainloop ()
A gombok a leggyakrabban használt widgetek tkinter. Ezeket a kattintható gombokat hozzáadhatja a grafikus felhasználói felületéhez a különféle beépített gomb widgetek segítségével.
Így adhat hozzá egy elsődleges gombot a grafikus felhasználói felülethez a Gomb widget:
t = Tk ()
Gomb (t, text = "Kattintható", bg = "fekete", fg = "fehér"). Rács ()
t.mainloop ()
A bg és fg a kulcsszavak leírják a gomb háttérszínét és a benne lévő szöveg színét.
A gomb méretét a magasság és szélesség paraméterek:
t = Tk ()
Gomb (t, text = "Kattintható", bg = "fekete", fg = "fehér", magasság = "2", szélesség = "10"). Rács ()
t.mainloop ()
Itt van ennek a kimenete:
És ha azt szeretné, hogy a gomb vizuálisan vonzóbb legyen, akkor a megkönnyebbülés kulcsszót, majd állítsa be a szegély szélességét:
t = Tk ()
Gomb (t, text = "Kattintható", bg = "kék", fg = "fehér",
magasság = 2, szélesség = 10, megkönnyebbülés = EMELT, szegélyszélesség = 6). rács ()
t.mainloop ()
És ez így néz ki:
Cserélje ki EMELT val vel LAKÁS hogy lássa, hogyan jön ez át.
Hozzáadhat annyi gombot, amennyit csak akar. De ügyeljen arra, hogy elkerülje a tartalom átfedését.
Az átfedések elkerülése érdekében megadhatja az egyes gombok sor- és oszloppozícióját:
t = Tk ()
Gomb (t, text = 1, bg = "fekete", fg = "white"). Rács (sor = 1, oszlop = 1)
Gomb (t, szöveg = 2, bg = "fekete", fg = "fehér"). Rács (sor = 2, oszlop = 1)
Gomb (t, szöveg = 3, bg = "fekete", fg = "fehér"). Rács (sor = 3, oszlop = 1)
Gomb (t, szöveg = 4, bg = "fekete", fg = "fehér"). Rács (sor = 4, oszlop = 1)
t.mainloop ()
Opcionális parancs kulcsszó azonban hozzáadja az eseményeket a Gomb widget. Lényegében rögzít egy opcionális funkciót, amely bizonyos eseményeket kezel, amikor egy gombra kattint.
Az alábbi kód például megszorozza az egyes gombok értékét 6-mal, amikor rájuk kattint. És egy előre definiált függvényen alapul:
def gombnyomás (r):
r = 6 * r
Címke (t, text = r, font = (60)). Rács (sor = 5, oszlop = 2)
t = Tk ()
Gomb (t, szöveg = 1, bg = "fekete", fg = "fehér", szélesség = 10, magasság = 2,
parancs = lambda: gombnyomás (1)). rács (sor = 1, oszlop = 1, pady = 6)
Gomb (t, szöveg = 2, bg = "fekete", fg = "fehér", szélesség = 10,
parancs = lambda: gombnyomás (2)). rács (sor = 2, oszlop = 1, pady = 6)
Gomb (t, szöveg = 3, bg = "fekete", fg = "fehér", szélesség = 10,
parancs = lambda: gombnyomás (3)). rács (sor = 3, oszlop = 1, pady = 6)
Gomb (t, szöveg = 4, bg = "fekete", fg = "fehér", szélesség = 10,
parancs = lambda: gombnyomás (4)). rács (sor = 4, oszlop = 1, pady = 6)
t.mainloop ()
A fenti kódban gombnyomás kezeli a szorzási eseményt. A Gomb A widget ezután egy névtelen segítségével rámutat az eseménykezelőre lambda funkció.
És ha aggódsz a pady kulcsszó, egyértelműen elválasztja az egyes gombokat a soron. Ezt lecserélve padx elválasztja a gombokat az oszlopon. És mindkét kulcsszót egyszerre használhatja a gombok elválasztásához mindkét tengelyen, ahogy kívánja.
Ez azt jelenti, hogy nem akarja újból feltalálni a kereket minden gombhoz, mint az előző kódban. Ez lelassítja a végrehajtási időt, ráadásul nehezen olvasható és leszűkíti a kódot.
De megteheted használja a for ciklust hogy elkerülje ezt az ismétlést.
Tehát itt van a fenti kód rövidebb és jobb verziója:
def gombnyomás (r):
r = 6 * r
Címke (t, text = r, font = (60)). Rács (sor = 5, oszlop = 2)
t = Tk ()
a = [1, 4, 6, 7]
i-re egy:
j = lambda y = i: gombnyomás (y)
Gomb (t, text = i, bg = "fekete", fg = "fehér", szélesség = 10, magasság = 2,
parancs = j) .rács (sor = i, oszlop = 1, pady = 6)
t.mainloop ()
Menü gombok és Ellenőrző gombok
Vizsgáljuk tovább a mert hurok a menü gombok hozzáadásához a grafikus felhasználói felülethez:
a tkinter importból *
t = Tk ()
gombok = ["Fájlok", "Irányítópult", "Menü", "Beállítások", "Súgó"]
m = 0
i tartományban (len (gombok)):
# Az m növekedésével egy listaindexet használva kap minden egyes szöveget a gombtömbben.
# Ezután hagyja, hogy az oszlop 1-gyel növekedjen a tömb hosszában:
Menü gomb (t, szöveg = gombok [m], bg = "kék", fg = "fehér"). Rács (5. sor = oszlop = i)
m + = 1
t.mainloop ()
Az ellenőrző gombok hozzáadása a grafikus felhasználói felülethez szintén nagyon egyszerű:
t = Tk ()
Ellenőrző gomb (t, text = "Opció kiválasztása"). Rács ()
t.mainloop ()
Szorozhatja nyugodtan az ellenőrző gombot a mert hurok, mint korábban tettük.
A Menü A widget segítségével kattintható legördülő menüket tervezhet be tkinter.
Amint azt korábban tkinter számos widget-lehetőséget kínál. Néhányat felhasználni fog, miközben megtervezi a legördülő menüt.
Íme néhány olyan általános widget-lehetőség, amelyre a legördülő menüben kerülhet:
- add_cascade: Megjeleníti a menücímkét, és a helyéhez ragasztja.
- add_separator: Az almenüket elhatárolja, és felső és alsó almenükbe csoportosítja.
- add_command: Itt nevet ad az almenüjének. Végül elfogad egy parancs argumentumot, ahol megadhat egy eseménykezelőt.
Íme egy legördülő példa, amely a következő három lehetőséget használja:
a tkinter importból *
t = Tk ()
fileOptions = ["Új", "nyitott", "Mentés", "Mentés másként"]
fileOptionsAfterseparator = ["Importálás", "Exportálás", "Kilépés"]
viewOptions = ["Átalakítás", "Szerkesztés", "Létrehozás"]
menuBar = Menü (t)
file = Menü (menuBar, tearoff = 0)
i-re a fileOptions-ban:
file.add_command (label = i, command = Nincs)
file.add_separator ()
i-re a fileOptionsAfterseparator programban:
file.add_command (label = i, command = Nincs)
menuBar.add_cascade (label = "File", menu = file)
Nézet = Menü (menuBar, tearoff = 0)
i-re a viewOptions-ban:
View.add_command (label = i, command = Nincs)
menuBar.add_cascade (label = "View", menu = View)
t.config (menü = menüsor)
t.mainloop ()
Nézze meg, hogyan néz ki:
Tkinter Beállítások menü
An Opciómenü, ellentétben a Menü legördülő menüben a címkét egy kiválasztott opcióra kapcsolja.
Bár megadhat egy alapértelmezett címkeértéket egy opciómenü számára, alapértelmezés szerint nincs címke.
Összefüggő: A Python projektötletek alkalmasak kezdőknek
Így készíthet egy opciómenüt a tkinter:
t = Tk ()
Omenu = StringVar () # állítsa be az opciók változó típusát
Omenu.set ("MUO") #specify a menüikon alapértelmezett értéke
OptionMenu (t, Omenu, "MUO", "Amazon", "Tutorial"). Rács ()
t.mainloop ()
Készítsen újrafelhasználható asztali alkalmazást a Tkinterrel
A Tkinter számos funkciót kínál, amelyek segítenek interaktív grafikus felhasználói felületű asztali alkalmazások készítésében. Bár nem biztos, hogy sok olyan szépítő funkcióval rendelkezik, mint néhány más Python GUI modul, mégis hasznos eszköz, amelyet érdemes felfedezni. És bár az itt szereplő példák csak néhány alapvető fogalmat mutatnak be, tkinter fejlettebb szolgáltatásokat kínál, amelyeket kipróbálhat.
Ez azt jelenti, hogy készíthet egy GUI asztali számológépet, készíthet mini szövegszerkesztőt, vagy akár létrehozhat egy GUI asztali alkalmazást is a készleteinek kezeléséhez. Ha széttárja szárnyait, és asztali GUI-dúr lesz, akkor megnézheti a Python egyéb GUI-moduljait is.
Használ GUI-t? Valószínű, hogy van, mert minden nap használja őket.
Olvassa el a következőt
- Programozás
- Piton

Idowu minden okos technológiával és termelékenységgel rajong. Szabadidejében kódolással játszik, és ha unatkozik, áttér a sakktáblára, de imád egyszer-egyszer elszakadni a rutintól. Az a szenvedély, hogy megmutatja az embereknek a modern technológiát, további írásra ösztönzi.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz, amely műszaki tippeket, véleményeket, ingyenes e-könyveket és exkluzív ajánlatokat tartalmaz!
Kattintson ide a feliratkozáshoz