Primeri Python Tkinter

Primeri Python Tkinter



Python je vsestranski programski jezik, ki se lahko uporablja za implementacijo različnih vrst aplikacij. Ima veliko vrst modulov za ustvarjanje aplikacij, ki temeljijo na GUI (grafični uporabniški vmesnik). Python tkinter je eden izmed njih. Vsako namizno aplikacijo je mogoče preprosto implementirati z uporabo modula tkinter. Bolje bo, če imate osnovno znanje programiranja Python, da se naučite uporabljati modul Python tkinter. V tej vadnici so prikazane različne uporabe modula Python tkinter za ustvarjanje aplikacij GUI.

Namestite modul Tkinter

Modul tkinter ni privzeto nameščen v Python. Torej morate zagnati naslednji ukaz za namestitev modula tkinter v različici Python 3+:







$ sudo apt namestite python3-tk



Različni pripomočki Tkinter

Modul tkinter vsebuje različne pripomočke za različne namene.







Ime pripomočka Namen
Oznaka Uporablja se za prikaz sporočila za pomoč uporabniku.
Gumb Uporablja se za dodajanje različnih gumbov v aplikaciji.
Okvir Deluje kot vsebnik gradnikov, ki vsebuje različne vrste gradnikov za oblikovanje organizirane oblike.
Vstop Uporablja se za prevzem enovrstičnega besedila od uporabnika.
Gumb za preverjanje Uporablja se za dodajanje gumbov potrditvenih polj za sprejemanje več vnosov od uporabnika iz več možnosti.
Radijski gumb Uporablja se za dodajanje izbirnih gumbov za en sam vnos uporabnika iz več možnosti.
Gumb kombiniranega polja Uporablja se za dodajanje spustnega seznama za en sam vnos uporabnika iz več možnosti.
ListBox Uporablja se za dodajanje seznamskega polja za sprejemanje več vnosov od uporabnika iz več možnosti.
Besedilo Uporablja se za prevzem večvrstičnega besedila od uporabnika.
Sporočilo Uporablja se za prikaz okna s sporočili za uporabnika.
Drsni trak Uporablja se za dodajanje drsnega traku v okno za pomikanje po oknu gor in dol.
Gumb menija Uporablja se za prikaz menija uporabniku.
meni Uporablja se za prikaz elementov menija uporabniku.
PanedWindow Deluje kot vsebnik pripomočkov, ki vsebuje vodoravno in navpično podokno.
Zavihki Uporablja se za dodajanje okna z zavihki v aplikaciji.

Različni primeri Tkinterja

Uporaba nekaterih običajnih pripomočkov tkinter je prikazana v naslednjih primerih.

Primer 1: Ustvarite preprosto aplikacijo GUI

Ustvarite datoteko Python z naslednjo vsebino, ki prikaže pogovorno okno na sredini zaslona z naslovom ter določeno višino in širino:



#Uvoz potrebnega modula
iz tkinterjevega uvoza *

#Ustvari predmet za okno
tkobj = Tk ( )

#Nastavite naslov okna
tkobj.title ( 'Naučite se modula tkinter' )

#Nastavite višino in širino okna
tkobj.geometrija ( '300 x 150' )

#Nastavite položaj prikaza okna na sredino
tkobj.eval ( 'tk::PlaceWindow. center' )

#Zaženi Tkinter
tkobj.mainloop ( )

Izhod:

Po izvedbi skripta se prikaže naslednji rezultat. Prikaže se pogovorno okno z naslovom »Naučite se modula tkinter«:

Primer 2: Uporaba oznake in gumba

Ustvarite datoteko Python z naslednjim skriptom, ki prikaže okno z oznako in pogovorno okno:

#Uvoz potrebnega modula
iz tkinterjevega uvoza *

#Ustvari predmet za okno
tkobj = Tk ( )

#Nastavite naslov okna
tkobj.title ( 'Naučite se modula tkinter' )

#Nastavite višino in širino okna
tkobj.geometrija ( '400 x 150' )

#Določite objekt oznake
lbl = nalepka ( tkobj, besedilo = 'To je preprosto okno' )
#Dodaj oznako v okno
lbl.pak ( ipadx = 30 , ipads = dvajset )

#Določite predmet gumba
btn = Gumb ( tkobj, besedilo = 'klikni me' )
#Dodaj gumb v okno s položajem
btn.pack ( ipadx = 30 , ipads = 10 )

#Nastavite položaj prikaza okna na sredino
tkobj.eval ( 'tk::PlaceWindow. center' )

#Zaženi Tkinter
tkobj.mainloop ( )

Izhod:

Po izvedbi skripta se na sredini zaslona prikaže okno z oznako in gumbom.

Primer 3: Nastavite barvo pisave in barvo ozadja

Ustvarite datoteko Python z naslednjim skriptom, ki prikaže okno z oznako in barvitim gumbom. Tukaj se atribut ozadja uporablja za nastavitev barve ozadja gumba, atribut ospredja pa se uporablja za nastavitev barve pisave gumba:

#Uvoz potrebnega modula
iz tkinterjevega uvoza *

#Ustvari predmet za okno
tkobj = Tk ( )

#Nastavite naslov okna
tkobj.title ( 'Naučite se modula tkinter' )

#Nastavite višino in širino okna
tkobj.geometrija ( '400 x 150' )

#Določite objekt oznake
lbl = nalepka ( tkobj, besedilo = 'Nastavi barvo ozadja in ospredja' )
#Dodaj oznako v okno
lbl.pak ( ipadx = 30 , ipads = dvajset )

#Določite predmet gumba z barvo ozadja in ospredja
btn = Gumb ( tkobj, besedilo = 'klikni me' , ozadje = 'modra' , ospredje = 'rdeča' )
#Dodaj gumb v okno s položajem
btn.pack ( ipadx = 30 , ipads = 8 )

#Nastavite položaj prikaza okna na sredino
tkobj.eval ( 'tk::PlaceWindow. center' )

#Zaženi Tkinter
tkobj.mainloop ( )

Izhod:

Po izvedbi skripta se prikaže naslednje okno:

Primer 4: Uporaba okvirja

V naslednjem skriptu Python so oznaka in dva gumba prikazani znotraj gradnika z okvirjem. Ustvarite datoteko Python s skriptom, da preverite izhod:

#Uvoz potrebnega modula
iz tkinterjevega uvoza *

#Ustvari predmet za okno
tkobj = Tk ( )

#Nastavite naslov okna
tkobj.title ( 'tkinter modul' )

#Nastavite višino in širino okna
tkobj.geometrija ( '250 x 100' )

#Določite okvirne objekte
frm = okvir ( tkobj )
frm.pack ( )
lframe = okvir ( tkobj )
lframe.pack ( strani =LEVO )
rframe = Okvir ( tkobj )
rframe.pack ( strani =PRAV )

#Določite oznako znotraj okvirja
lbl = nalepka ( frm, besedilo = 'Uporaba okvirja' , fg = 'modra' )
lbl.pak ( )

#Določite gumbe znotraj okvirja
btn1 = Gumb ( lframe, besedilo = '' , fg = 'Črna' , bg = 'bela' )
btn2.pack ( strani =PRAV )

#Nastavite položaj prikaza okna na sredino
tkobj.eval ( 'tk::PlaceWindow. center' )

#Zaženi Tkinter
tkobj.mainloop ( )

Izhod:

Po izvedbi skripta se prikaže naslednji rezultat:

Primer 5: Obravnava dogodka gumba

Uporaba sporočilnega polja je prikazana v naslednjem skriptu. Polje s sporočilom se prikaže, ko kliknete gumb:

#Uvoz potrebnih modulov
iz tkinterjevega uvoza *
iz sporočilnega polja za uvoz tkinterja

#Ustvari predmet za okno
tkobj = Tk ( )

#Nastavite naslov okna
tkobj.title ( 'Naučite se modula tkinter' )

#Nastavite višino in širino okna
tkobj.geometrija ( '400 x 150' )

#Določite funkcijo za prikaz sporočilnega polja
prikaz def ( ) :
messagebox.showinfo ( 'Informacije' , 'Kliknjen je gumb.' )

#Ustvarite besedilo oznake z barvo pisave, slogom in položajem
Oznaka ( tkobj, besedilo = 'Namizna aplikacija, ki uporablja tkinter.' , fg = 'zelena' ) .pack ( Paddy = 25 )

#Ustvarite gumb z orodjem za obravnavo gumbov
Gumb ( tkobj, besedilo = 'Pokaži sporočilo' , ukaz =zaslon ) .pack ( )

#Nastavite položaj prikaza okna na sredino
tkobj.eval ( 'tk::PlaceWindow. center' )

#Zaženi Tkinter
tkobj.mainloop ( )

Izhod:

Po izvedbi skripta se prikaže naslednje okno:

Po pritisku na gumb se prikaže naslednje sporočilo:

Primer 6: Vzemite vnos od uporabnika

V modulu tkinter je na voljo več gradnikov, ki sprejemajo vnos od uporabnika. Uporaba najpogostejših pripomočkov je prikazana v naslednjem skriptu. Ustvarite datoteko Python z naslednjo kodo, da preverite izhod:

#Uvoz potrebnih modulov
iz tkinterjevega uvoza *
iz tkinter.ttk uvozi Combobox
iz tkinter uvozi ttk
uvozi tkinter kot tk
iz sporočilnega polja za uvoz tkinterja

#Ustvari predmet tkinter
tkobj = Tk ( )

#Nastavite naslov okna
tkobj.title ( 'Obrazec s podatki o uporabniku' )

#Nastavite višino in širino okna
tkobj.geometrija ( '550 x 320' )

#Definirajte funkcijo za prikaz vrednosti obrazca
def prikazne_vrednosti ( ) :
#Preberi enovrstično besedilo
ime = 'Ime:' + name_val.get ( ) + ' \n '
#Preberite izbrano vrednost izbirnega gumba
če gender.get ( ) == 1 :
g = 'moški'
drugače:
g = 'ženska'
g = 'Spol:' + g + ' \n '

#Preberite izbrane vrednosti potrditvenega polja
igra = ''
če g1.get ( ) == 1 :
igra = 'kriket'
če g2.get ( ) == 1 :
če igra ! = '' :
igra += ', ' + 'Nogomet'
drugače:
igra = 'Nogomet'
če g3.get ( ) == 1 :
če igra ! = '' :
igra += ', ' + 'Košarka'
drugače:
igra = 'Košarka'
igra = 'Igra:' + igra + ' \n '

#Preberite vrednosti kombiniranega polja
država = 'Država : ' + countryVal.get ( ) + ' \n '
#Preberite večvrstično besedilo
naslov = 'Naslov:' + addr.get ( '1,0' , 'konec' ) + ' \n '
#Spoji vse vrednosti, ki jih sprejmejo polja
form_values ​​= ime + g + igra + država + naslov
#Prikaži vrednosti v sporočilnem polju
messagebox.showinfo ( 'Podrobnosti o podatkih o uporabniku' , vrednosti_obrazca )


#Ustvarite oznako in polje z imenom
Oznaka ( tkobj, besedilo = 'Ime:' ) .mesto ( x = 100 , in = dvajset )
name_val = StringVar ( )
ttk.Vstop ( tkobj, textvariable =name_val ) .pack ( Padx = 220 , Paddy = dvajset )

#Ustvarite oznako in izbirni gumb
Oznaka ( tkobj, besedilo = 'Spol:' ) .mesto ( x = 100 , in = 60 )
spol = IntVar ( )
gender.set ( 1 )
Radijski gumb ( tkobj, besedilo = 'moški' , spremenljivka =spol, vrednost = 1 ) .mesto ( x = 210 , in = 60 )
Radijski gumb ( tkobj, besedilo = 'ženska' , spremenljivka =spol, vrednost = 2 ) .mesto ( x = 290 , in = 60 )

#Ustvarite oznako in gumb potrditvenega polja
Oznaka ( tkobj, besedilo = 'Najljubša igra:' ) .mesto ( x = 100 , in = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
Gumb za preverjanje ( tkobj, besedilo = 'kriket' , spremenljivka =g1 ) .mesto ( x = 210 , in = 100 )
Gumb za preverjanje ( tkobj, besedilo = 'Nogomet' , spremenljivka =g2 ) .mesto ( x = 290 , in = 100 )
Gumb za preverjanje ( tkobj, besedilo = 'Košarka' , spremenljivka =g3 ) .mesto ( x = 380 , in = 100 )

#Določite vrednosti tuple
podatki = ( 'Bangladeš' , 'Japonska' , 'ZDA' )
#Ustvari oznako in kombinirano polje
Oznaka ( tkobj, besedilo = 'Država : ' ) .mesto ( x = 100 , in = 140 )
countryVal = StringVar ( )
Kombinirano polje ( tkobj, vrednote =podatki, textvariable =countryVal ) .mesto ( x = 220 , in = 140 )

#Ustvari oznako in besedilno polje
Oznaka ( tkobj, besedilo = 'Naslov:' ) .mesto ( x = 100 , in = 180 )
naslov = ( tk.Besedilo ( tkobj, višina = 3 , premer = dvajset ) )
naslov ( x = 220 , in = 180 )

#Ustvarite gumb z orodjem za obravnavo gumbov
Gumb ( tkobj, besedilo = 'Pošlji' , ukaz =prikazne_vrednosti ) .mesto ( x = 250 , in = 250 )

#Zaženi Tkinter
tkobj.mainloop ( )

Izhod:

Po izvedbi skripta se prikaže naslednje okno:

Izpolnite polja obrazca in pritisnite na gumb 'Pošlji'.

Prikaže se naslednje sporočilo s poslanimi vrednostmi:

Zaključek

Metode uporabe modula Python tkinter za ustvarjanje aplikacij GUI so prikazane v tej vadnici z več primeri.