Python Tkinter példák

Python Tkinter Peldak



A Python egy sokoldalú programozási nyelv, amely különféle típusú alkalmazások megvalósítására használható. Sokféle modullal rendelkezik a GUI (Graphical User Interface) alapú alkalmazások létrehozásához. A Python tkinter az egyik ilyen. Bármely asztali alkalmazás könnyen megvalósítható a tkinter modul segítségével. Jobb lesz, ha rendelkezik alapszintű Python programozási ismeretekkel, hogy megtanulja a Python tkinter modul használatát. Ebben az oktatóanyagban a Python tkinter modul GUI-alkalmazások létrehozására szolgáló különféle felhasználási módjai láthatók.

Telepítse a Tkinter modult

A tkinter modul alapértelmezés szerint nincs telepítve a Pythonra. Tehát a következő parancsot kell futtatnia a tkinter modul telepítéséhez a Python 3+ verzióban:







$ sudo alkalmas telepítés python3-tk



Különböző Tkinter widgetek

A tkinter modul különféle widgeteket tartalmaz különféle célokra.







Widget neve Célja
Címke A felhasználónak szóló segítő üzenet megjelenítésére szolgál.
Gomb Különböző gombok hozzáadására szolgál az alkalmazásban.
Keret Úgy működik, mint egy widget-tároló, amely különböző típusú widgeteket tartalmaz egy szervezett űrlap kialakításához.
Belépés Egysoros szöveg elvételére szolgál a felhasználótól.
Ellenőrző gomb A jelölőnégyzet gombok hozzáadására szolgál, hogy több bemenetet fogadjon el a felhasználótól több lehetőség közül.
Rádiógomb Rádiógombok hozzáadására szolgál, hogy egyetlen bevitelt fogadjon el a felhasználótól több lehetőség közül.
Combobox gomb Egy legördülő lista hozzáadására szolgál, amely egyetlen bevitelt fogad el a felhasználótól több lehetőség közül.
ListBox Listadoboz hozzáadására szolgál, hogy több bemenetet fogadjon el a felhasználótól több lehetőség közül.
Szöveg Többsoros szöveg elvételére szolgál a felhasználótól.
Üzenet Az üzenetablak megjelenítésére szolgál a felhasználó számára.
Görgetősáv Arra használjuk, hogy egy görgetősávot adjunk az ablakhoz az ablak fel-le görgetéséhez.
Menü gomb A menü megjelenítésére szolgál a felhasználó számára.
Menü A menüelemek megjelenítésére szolgál a felhasználó számára.
PanedWindow Úgy működik, mint egy widget-tároló, amely a vízszintes és függőleges ablaktáblákat tartalmazza.
Tabs Egy füles ablak hozzáadására szolgál az alkalmazásban.

Különböző Tkinter példák

Néhány általános tkinter widget használatát a következő példák mutatják be.

1. példa: Hozzon létre egy egyszerű GUI-alkalmazást

Hozzon létre egy Python-fájlt a következő tartalommal, amely egy párbeszédpanelt jelenít meg a képernyő közepén a címmel, valamint az adott magassággal és szélességgel:



#Importálja a szükséges modult
tkinter importból *

#Objektum létrehozása az ablakhoz
tkobj = Tk ( )

#Állítsa be az ablak címét
tkobj.title ( 'A tkinter modul megtanulása' )

#Állítsa be az ablak magasságát és szélességét
tkobj.geometria ( '300x150' )

#Állítsa be az ablak megjelenítési pozícióját középen
tkobj.eval ( 'tk::PlaceWindow . központ' )

#Futtassa a Tkintert
tkobj.mainloop ( )

Kimenet:

A következő kimenet jelenik meg a szkript végrehajtása után. Megjelenik egy párbeszédpanel a „Learn tkinter module” címmel:

2. példa: Címke és gomb használata

Hozzon létre egy Python-fájlt a következő szkripttel, amely egy ablakot és egy párbeszédpanelt jelenít meg:

#Importálja a szükséges modult
tkinter importból *

# Hozzon létre egy objektumot az ablakhoz
tkobj = Tk ( )

#Állítsa be az ablak címét
tkobj.title ( 'A tkinter modul megtanulása' )

#Állítsa be az ablak magasságát és szélességét
tkobj.geometria ( '400x150' )

#Címke objektum meghatározása
lbl = Címke ( tkobj, szöveg = 'Ez egy egyszerű ablak' )
#Cimke hozzáadása az ablakhoz
lbl.pack ( ipadx = 30 , ipad = húsz )

#Gombobjektum meghatározása
btn = Gomb ( tkobj, szöveg = 'Kattints ide' )
#Hozzáadás gomb az ablakhoz a pozícióval
btn.pack ( ipadx = 30 , ipad = 10 )

#Állítsa be az ablak megjelenítési pozícióját középen
tkobj.eval ( 'tk::PlaceWindow . központ' )

#Futtassa a Tkintert
tkobj.mainloop ( )

Kimenet:

A szkript végrehajtása után a képernyő közepén megjelenik egy ablak egy címkével és egy gombbal.

3. példa: Állítsa be a betűszínt és a háttérszínt

Hozzon létre egy Python-fájlt a következő szkripttel, amely egy címkével és egy színes gombbal ellátott ablakot jelenít meg. Itt a background attribútum a gomb háttérszínének, az előtér attribútum pedig a gomb betűszínének beállítására szolgál:

#Importálja a szükséges modult
tkinter importból *

# Hozzon létre egy objektumot az ablakhoz
tkobj = Tk ( )

#Állítsa be az ablak címét
tkobj.title ( 'A tkinter modul megtanulása' )

#Állítsa be az ablak magasságát és szélességét
tkobj.geometria ( '400x150' )

#Címke objektum meghatározása
lbl = Címke ( tkobj, szöveg = 'Háttér és előtér színének beállítása' )
#Cimke hozzáadása az ablakhoz
lbl.pack ( ipadx = 30 , ipad = húsz )

#Define gombobjektum háttér- és előtérszínnel
btn = Gomb ( tkobj, szöveg = 'Kattints ide' , háttér = 'kék' , előtér = 'piros' )
#Hozzáadás gomb az ablakhoz a pozícióval
btn.pack ( ipadx = 30 , ipad = 8 )

#Állítsa be az ablak megjelenítési pozícióját középen
tkobj.eval ( 'tk::PlaceWindow . központ' )

#Futtassa a Tkintert
tkobj.mainloop ( )

Kimenet:

A szkript végrehajtása után a következő ablak jelenik meg:

4. példa: Keret használata

A következő Python-szkriptben egy címke és két gomb látható a keret widgeten belül. Hozzon létre egy Python-fájlt a szkripttel a kimenet ellenőrzéséhez:

#Importálja a szükséges modult
tkinter importból *

# Hozzon létre egy objektumot az ablakhoz
tkobj = Tk ( )

#Állítsa be az ablak címét
tkobj.title ( 'tkinter modul' )

#Állítsa be az ablak magasságát és szélességét
tkobj.geometria ( '250x100' )

#Keretobjektumok meghatározása
frm = Keret ( tkobj )
frm.pack ( )
lframe = Keret ( tkobj )
lframe.pack ( oldal =BAL )
rframe = Keret ( tkobj )
rframe.pack ( oldal = HELYES )

#Címke meghatározása a kereten belül
lbl = Címke ( frm, szöveg = 'A keret használata' , fg = 'kék' )
lbl.pack ( )

#Define gombok a kereten belül
btn1 = Button ( lframe, szöveg = '' , fg = 'fekete' , bg = 'fehér' )
btn2.pack ( oldal = HELYES )

#Állítsa be az ablak megjelenítési pozícióját középen
tkobj.eval ( 'tk::PlaceWindow . központ' )

#Futtassa a Tkintert
tkobj.mainloop ( )

Kimenet:

A következő kimenet jelenik meg a szkript végrehajtása után:

5. példa: Kezelje a gombeseményt

Az üzenetmező használatát a következő szkript mutatja be. Az üzenetablak megjelenik, ha egy gombra kattint:

#Importálja a szükséges modulokat
tkinter importból *
a tkinter import üzenetboxból

# Hozzon létre egy objektumot az ablakhoz
tkobj = Tk ( )

#Állítsa be az ablak címét
tkobj.title ( 'A tkinter modul megtanulása' )

#Állítsa be az ablak magasságát és szélességét
tkobj.geometria ( '400x150' )

#Határozzon meg egy függvényt az üzenetablak megjelenítéséhez
def kijelző ( ) :
messagebox.showinfo ( 'Információ' , 'A gomb meg van kattintva.' )

#Címkeszöveg létrehozása betűszínnel, stílussal és pozícióval
Címke ( tkobj, szöveg = 'Asztali alkalmazás a tkinter használatával.' , fg = 'zöld' ) .csomag ( Paddy = 25 )

#Hozzon létre egy gombot egy gombkezelővel
Gomb ( tkobj, szöveg = 'Üzenet megjelenítése' , parancs =kijelző ) .csomag ( )

#Állítsa be az ablak megjelenítési pozícióját középen
tkobj.eval ( 'tk::PlaceWindow . központ' )

#Futtassa a Tkintert
tkobj.mainloop ( )

Kimenet:

A szkript végrehajtása után a következő ablak jelenik meg:

A következő üzenetablak jelenik meg a gomb megnyomása után:

6. példa: Bemenet fogadása a felhasználótól

A tkinter modulban több widget is rendelkezésre áll, amelyek a felhasználótól érkező bevitelt fogadják. A leggyakoribb widgetek felhasználását a következő szkript mutatja be. Hozzon létre egy Python-fájlt a következő kóddal a kimenet ellenőrzéséhez:

#Importálja a szükséges modulokat
tkinter importból *
a tkinter.ttk import Comboboxból
tkinter importból ttk
import tkinter mint tk
a tkinter import üzenetboxból

#Tkinter objektum létrehozása
tkobj = Tk ( )

#Állítsa be az ablak címét
tkobj.title ( 'Felhasználói információs űrlap' )

#Állítsa be az ablak magasságát és szélességét
tkobj.geometria ( '550x320' )

#Határozzon meg egy függvényt az űrlapértékek megjelenítéséhez
def display_values ( ) :
#Egysoros szöveg olvasása
név = 'Név:' + name_val.get ( ) + ' \n '
#Olvassa be a kiválasztott választógomb értékét
ha gender.get ( ) == 1 :
g = 'Férfi'
más:
g = 'Női'
g = 'Nem:' + g + ' \n '

#Olvassa el a kiválasztott jelölőnégyzet értékeit
játék = ''
ha g1.get ( ) == 1 :
játék = 'Krikett'
ha g2.get ( ) == 1 :
ha játszma, meccs ! = '' :
játék += ', ' + 'Futball'
más:
játék = 'Futball'
ha g3.get ( ) == 1 :
ha játszma, meccs ! = '' :
játék += ', ' + 'Kosárlabda'
más:
játék = 'Kosárlabda'
játék = 'Játszma, meccs : ' + játék + ' \n '

#Olvassa el a kombinált mező értékeit
ország = 'Ország : ' + országVal.get ( ) + ' \n '
#Olvassa el a többsoros szöveget
cím = 'Cím : ' + addr.get ( '1.0' , 'vége' ) + ' \n '
#A mezők által felvett összes érték egyesítése
form_values ​​= név + g + játék + ország + cím
#Jelenítse meg az értékeket az üzenetmezőben
messagebox.showinfo ( 'Felhasználói információ részletei' , form_values )


#Hozzon létre egy címkét és a névmezőt
Címke ( tkobj, szöveg = 'Név:' ) .hely ( x = 100 , és = húsz )
name_val = StringVar ( )
ttk.Belépés ( tkobj, szövegváltozó =név_érték ) .csomag ( Padx = 220 , Paddy = húsz )

# Hozzon létre egy címkét és a választógombot
Címke ( tkobj, szöveg = 'Nem:' ) .hely ( x = 100 , és = 60 )
gender = IntVar ( )
gender.set ( 1 )
Rádiógomb ( tkobj, szöveg = 'Férfi' , változó =nem, érték = 1 ) .hely ( x = 210 , és = 60 )
Rádiógomb ( tkobj, szöveg = 'Női' , változó =nem, érték = 2 ) .hely ( x = 290 , és = 60 )

# Hozzon létre egy címkét és jelölőnégyzet gombot
Címke ( tkobj, szöveg = 'Kedvenc játék:' ) .hely ( x = 100 , és = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
Ellenőrző gomb ( tkobj, szöveg = 'Krikett' , változó =g1 ) .hely ( x = 210 , és = 100 )
Ellenőrző gomb ( tkobj, szöveg = 'Futball' , változó =g2 ) .hely ( x = 290 , és = 100 )
Ellenőrző gomb ( tkobj, szöveg = 'Kosárlabda' , változó =g3 ) .hely ( x = 380 , és = 100 )

#Tuple értékek meghatározása
adatok = ( 'Banglades' , 'Japán' , 'EGYESÜLT ÁLLAMOK' )
#Címke és kombinált doboz létrehozása
Címke ( tkobj, szöveg = 'Ország : ' ) .hely ( x = 100 , és = 140 )
countryVal = StringVar ( )
Combobox ( tkobj, értékeket =adat, szövegváltozó =országVal ) .hely ( x = 220 , és = 140 )

#Címke és szövegmező létrehozása
Címke ( tkobj, szöveg = 'Cím : ' ) .hely ( x = 100 , és = 180 )
addr = ( tk.Szöveg ( tkobj, magasság = 3 , szélesség = húsz ) )
addr.place ( x = 220 , és = 180 )

#Hozzon létre egy gombot egy gombkezelővel
Gomb ( tkobj, szöveg = 'Beküldés' , parancs =értékek megjelenítése ) .hely ( x = 250 , és = 250 )

#Futtassa a Tkintert
tkobj.mainloop ( )

Kimenet:

A szkript végrehajtása után a következő ablak jelenik meg:

Töltse ki az űrlap mezőit, és nyomja meg a „Küldés” gombot.

A következő üzenetablak jelenik meg a beküldött értékekkel:

Következtetés

A Python tkinter modul GUI-alkalmazások létrehozására szolgáló módszerei több példán keresztül is bemutatásra kerülnek ebben az oktatóanyagban.