Python Tkinteri näited

Python Tkinteri Naited



Python on mitmekülgne programmeerimiskeel, mida saab kasutada erinevat tüüpi rakenduste juurutamiseks. Sellel on mitut tüüpi mooduleid GUI-l (graafilise kasutajaliidese) põhinevate rakenduste loomiseks. Python tkinter on üks neist. Mis tahes töölauarakendust saab hõlpsasti rakendada tkinteri mooduli abil. Pythoni tkinteri mooduli kasutamise õppimiseks on parem, kui teil on põhiteadmised Pythoni programmeerimisest. Selles õpetuses on näidatud Pythoni tkinteri mooduli erinevad kasutusviisid GUI rakenduste loomiseks.

Installige Tkinteri moodul

Tkinteri moodul ei ole vaikimisi Pythoni installitud. Seega peate Python 3+ versioonis tkinteri mooduli installimiseks käivitama järgmise käsu:







$ sudo asjakohane installida python3-tk



Erinevad Tkinteri vidinad

Moodul tkinter sisaldab mitmesuguseid vidinaid erinevatel eesmärkidel.







Vidina nimi Eesmärk
Silt Seda kasutatakse kasutajale abisõnumi kuvamiseks.
Nupp Seda kasutatakse erinevate nuppude lisamiseks rakenduses.
Raam See toimib nagu vidinate konteiner, mis sisaldab organiseeritud vormi kujundamiseks erinevat tüüpi vidinaid.
Sissepääs Seda kasutatakse kasutajalt üherealise teksti võtmiseks.
Kontrollinupp Seda kasutatakse märkeruutude nuppude lisamiseks, et võtta kasutajalt mitmest valikust mitu sisendit.
Raadio nupp Seda kasutatakse raadionuppude lisamiseks, et võtta kasutajalt üks sisend mitmest valikust.
Liitkasti nupp Seda kasutatakse rippmenüü lisamiseks, et saada kasutajalt üks sisend mitmest valikust.
Loendikast Seda kasutatakse loendikasti lisamiseks, et võtta kasutajalt mitu sisendit mitmest valikust.
Tekst Seda kasutatakse kasutajalt mitmerealise teksti võtmiseks.
Sõnum Seda kasutatakse kasutajale sõnumiakna kuvamiseks.
Kerimisriba Seda kasutatakse kerimisriba lisamiseks aknasse, et kerida akent üles ja alla.
Menüünupp Seda kasutatakse menüü kuvamiseks kasutajale.
Menüü Seda kasutatakse menüüelementide kuvamiseks kasutajale.
PanedWindow See töötab nagu vidina konteiner, mis sisaldab horisontaalseid ja vertikaalseid paane.
Vahekaardid Seda kasutatakse vahekaardiakna lisamiseks rakenduses.

Erinevad Tkinteri näited

Mõnede levinud tkinteri vidinate kasutusviise on näidatud järgmistes näidetes.

Näide 1: looge lihtne GUI rakendus

Looge järgmise sisuga Pythoni fail, mis kuvab ekraani keskel dialoogiboksi pealkirja ning konkreetse kõrguse ja laiusega:



#Impordi vajalik moodul
tkinteri impordist *

#Loo akna jaoks objekt
tkobj = Tk ( )

#Määrake akna pealkiri
tkobj.title ( 'Õppige tkinteri moodulit' )

#Määrake akna kõrgus ja laius
tkobj.geomeetria ( '300x150' )

#Määrake akna kuvamisasend tsentraalselt
tkobj.eval ( 'tk::PlaceWindow . Keskus' )

#Käivita Tkinter
tkobj.mainloop ( )

Väljund:

Pärast skripti täitmist ilmub järgmine väljund. Kuvatakse dialoogiboks pealkirjaga 'Õpi tkinteri moodulit':

Näide 2: Sildi ja nupu kasutamine

Looge Pythoni fail järgmise skriptiga, mis kuvab sildi ja dialoogiboksiga akna:

#Impordi vajalik moodul
tkinteri impordist *

#Loo akna jaoks objekt
tkobj = Tk ( )

#Määrake akna pealkiri
tkobj.title ( 'Õppige tkinteri moodulit' )

#Määrake akna kõrgus ja laius
tkobj.geomeetria ( '400x150' )

#Määrake sildiobjekt
lbl = Silt ( tkobj, tekst = 'See on lihtne aken' )
#Lisage aknale silt
lbl.pakk ( ipadx = 30 , iPadid = kakskümmend )

#Määrake nupu objekt
btn = nupp ( tkobj, tekst = 'Klõpsake mind' )
#Lisa nupp asukohaga aknale
btn.pack ( ipadx = 30 , iPadid = 10 )

#Määrake akna kuvamisasend tsentraalselt
tkobj.eval ( 'tk::PlaceWindow . Keskus' )

#Käivita Tkinter
tkobj.mainloop ( )

Väljund:

Pärast skripti täitmist ilmub ekraani keskele sildi ja nupuga aken.

Näide 3: määrake fondi värv ja taustavärv

Looge Pythoni fail järgmise skriptiga, mis kuvab sildi ja värvilise nupuga akna. Siin kasutatakse tausta atribuuti nupu taustavärvi määramiseks ja esiplaani atribuuti nupu fondivärvi määramiseks:

#Impordi vajalik moodul
tkinteri impordist *

#Loo akna jaoks objekt
tkobj = Tk ( )

#Määrake akna pealkiri
tkobj.title ( 'Õppige tkinteri moodulit' )

#Määrake akna kõrgus ja laius
tkobj.geomeetria ( '400x150' )

#Määrake sildiobjekt
lbl = Silt ( tkobj, tekst = 'Tausta ja esiplaani värvi määramine' )
#Lisage aknale silt
lbl.pakk ( ipadx = 30 , iPadid = kakskümmend )

#Määrake nupuobjekt tausta ja esiplaani värviga
btn = nupp ( tkobj, tekst = 'Klõpsake mind' , taustal = 'sinine' , esiplaanil = 'punane' )
#Lisa nupp asukohaga aknale
btn.pack ( ipadx = 30 , iPadid = 8 )

#Määrake akna kuvamisasend tsentraalselt
tkobj.eval ( 'tk::PlaceWindow . Keskus' )

#Käivita Tkinter
tkobj.mainloop ( )

Väljund:

Pärast skripti käivitamist ilmub järgmine aken:

Näide 4: Raami kasutamine

Järgmises Pythoni skriptis kuvatakse raami vidinas silt ja kaks nuppu. Väljundi kontrollimiseks looge skriptiga Pythoni fail:

#Impordi vajalik moodul
tkinteri impordist *

#Loo akna jaoks objekt
tkobj = Tk ( )

#Määrake akna pealkiri
tkobj.title ( 'tkinteri moodul' )

#Määrake akna kõrgus ja laius
tkobj.geomeetria ( '250x100' )

#Defineerige raamiobjektid
frm = Raam ( tkobj )
frm.pack ( )
lframe = raam ( tkobj )
lframe.pack ( pool =VASAKULE )
rframe = raam ( tkobj )
rframe.pack ( pool =ÕIGE )

#Määrake silt raami sees
lbl = Silt ( frm, tekst = 'Raami kasutamine' , fg = 'sinine' )
lbl.pakk ( )

#Defineerige nupud raami sees
btn1 = nupp ( l raam, tekst = '' , fg = 'must' , bg = 'valge' )
btn2.pack ( pool =ÕIGE )

#Määrake akna kuvamisasend tsentraalselt
tkobj.eval ( 'tk::PlaceWindow . Keskus' )

#Käivita Tkinter
tkobj.mainloop ( )

Väljund:

Pärast skripti käivitamist kuvatakse järgmine väljund:

Näide 5: Käsitsege nupu sündmust

Teatekasti kasutamine on näidatud järgmises skriptis. Teatekast kuvatakse nupule klõpsamisel:

#Importige vajalikud moodulid
tkinteri impordist *
tkinteri impordi sõnumikastist

#Loo akna jaoks objekt
tkobj = Tk ( )

#Määrake akna pealkiri
tkobj.title ( 'Õppige tkinteri moodulit' )

#Määrake akna kõrgus ja laius
tkobj.geomeetria ( '400x150' )

#Defineerige funktsioon sõnumikasti kuvamiseks
def ekraan ( ) :
messagebox.showinfo ( 'Teave' , 'Nuppu on klõpsatud.' )

#Looge sildi tekst fondi värvi, stiili ja asukohaga
Silt ( tkobj, tekst = 'Tkinterit kasutav töölauarakendus.' , fg = 'roheline' ) .pakk ( Paddy = 25 )

#Looge nupp nupukäitlejaga
Nupp ( tkobj, tekst = 'Näita sõnumit' , käsk =ekraan ) .pakk ( )

#Määrake akna kuvamisasend tsentraalselt
tkobj.eval ( 'tk::PlaceWindow . Keskus' )

#Käivita Tkinter
tkobj.mainloop ( )

Väljund:

Pärast skripti käivitamist ilmub järgmine aken:

Pärast nupu vajutamist kuvatakse järgmine teatekast:

Näide 6: võtke kasutajalt sisend

Moodulis tkinter on saadaval mitu vidinat, mis võtavad kasutajalt sisendit. Kõige tavalisemate vidinate kasutusviise on näidatud järgmises skriptis. Väljundi kontrollimiseks looge Pythoni fail järgmise koodiga:

#Importige vajalikud moodulid
tkinteri impordist *
tkinter.ttk impordi liitkastist
tkinterist import ttk
import tkinter nagu tk
tkinteri impordi sõnumikastist

#Loo tkinteri objekt
tkobj = Tk ( )

#Määrake akna pealkiri
tkobj.title ( 'Kasutaja teabe vorm' )

#Määrake akna kõrgus ja laius
tkobj.geomeetria ( '550x320' )

#Defineerige funktsioon vormi väärtuste kuvamiseks
def display_values ( ) :
#Loe üherealist teksti
nimi = 'Nimi:' + name_val.get ( ) + ' \n '
#Lugege valitud raadionupu väärtust
kui sugu.saada ( ) == 1 :
g = 'Mees'
muu:
g = 'Naine'
g = 'Sugu:' + g + ' \n '

#Lugege valitud märkeruutude väärtused
mäng = ''
kui g1.get ( ) == 1 :
mäng = 'Kriket'
kui g2.get ( ) == 1 :
kui mängu ! = '' :
mäng += ', ' + 'Jalgpall'
muu:
mäng = 'Jalgpall'
kui g3.get ( ) == 1 :
kui mängu ! = '' :
mäng += ', ' + 'Korvpall'
muu:
mäng = 'Korvpall'
mäng = 'Mäng:' + mäng + ' \n '

#Lugege liitkasti väärtusi
riik = 'Riik : ' + countryVal.get ( ) + ' \n '
#Lugege mitmerealist teksti
aadress = 'Aadress:' + addr.get ( '1.0' , 'lõpp' ) + ' \n '
# Ühendage kõik väljade võetud väärtused
vormi_väärtused = nimi + g + mäng + riik + aadress
#Kuva väärtused sõnumikastis
messagebox.showinfo ( 'Kasutaja teabe üksikasjad' , vormi_väärtused )


#Looge silt ja nimeväli
Silt ( tkobj, tekst = 'Nimi:' ) .koht ( x = 100 , ja = kakskümmend )
name_val = StringVar ( )
ttk.Sisenemine ( tkobj, tekstimuutuja =nimi_val ) .pakk ( Padx = 220 , Paddy = kakskümmend )

#Loo silt ja raadionupp
Silt ( tkobj, tekst = 'Sugu:' ) .koht ( x = 100 , ja = 60 )
sugu = IntVar ( )
sugu.komplekt ( 1 )
Raadio nupp ( tkobj, tekst = 'Mees' , muutuv =sugu, väärtus = 1 ) .koht ( x = 210 , ja = 60 )
Raadio nupp ( tkobj, tekst = 'Naine' , muutuv =sugu, väärtus = 2 ) .koht ( x = 290 , ja = 60 )

#Loo silt ja märkeruudu nupp
Silt ( tkobj, tekst = 'Lemmikmäng:' ) .koht ( x = 100 , ja = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
Kontrollinupp ( tkobj, tekst = 'Kriket' , muutuv =g1 ) .koht ( x = 210 , ja = 100 )
Kontrollinupp ( tkobj, tekst = 'Jalgpall' , muutuv =g2 ) .koht ( x = 290 , ja = 100 )
Kontrollinupp ( tkobj, tekst = 'Korvpall' , muutuv =g3 ) .koht ( x = 380 , ja = 100 )

#Defineerige korteeži väärtused
andmed = ( 'Bangladesh' , 'Jaapan' , 'USA' )
#Loo silt ja liitkast
Silt ( tkobj, tekst = 'Riik : ' ) .koht ( x = 100 , ja = 140 )
countryVal = StringVar ( )
Kombokast ( tkobj, väärtused =andmed, tekstimuutuja =riikVal ) .koht ( x = 220 , ja = 140 )

#Loo silt ja tekstiväli
Silt ( tkobj, tekst = 'Aadress:' ) .koht ( x = 100 , ja = 180 )
addr = ( tk.Tekst ( tkobj, kõrgus = 3 , laius = kakskümmend ) )
adr.koht ( x = 220 , ja = 180 )

#Looge nupp nupukäitlejaga
Nupp ( tkobj, tekst = 'Esita' , käsk =kuva_väärtused ) .koht ( x = 250 , ja = 250 )

#Käivita Tkinter
tkobj.mainloop ( )

Väljund:

Pärast skripti käivitamist ilmub järgmine aken:

Täitke vormi väljad ja vajutage nuppu 'Esita'.

Ilmub järgmine teatekast koos esitatud väärtustega:

Järeldus

Selles juhendis kuvatakse mitme näite abil Pythoni tkinteri mooduli kasutamise meetodid GUI rakenduste loomiseks.