Python Tkinter pavyzdžiai

Python Tkinter Pavyzdziai



Python yra universali programavimo kalba, kurią galima naudoti įvairių tipų programoms įgyvendinti. Jame yra daugybė modulių tipų, skirtų GUI (grafine vartotojo sąsaja) pagrįstoms programoms kurti. Python tkinter yra vienas iš jų. Bet kurią darbalaukio programą galima lengvai įdiegti naudojant tkinter modulį. Būtų geriau, jei turėsite pagrindinių Python programavimo žinių, kad išmoktumėte naudoti Python tkinter modulį. Šiame vadove parodytas skirtingas Python tkinter modulio panaudojimas kuriant GUI programas.

Įdiekite Tkinter modulį

Pagal numatytuosius nustatymus tkinter modulis nėra įdiegtas Python. Taigi, norėdami įdiegti tkinter modulį Python 3+ versijoje, turite paleisti šią komandą:







$ sudo apt diegti python3-tk



Įvairūs Tkinter valdikliai

tkinter modulyje yra įvairių valdiklių įvairiems tikslams.







Valdiklio pavadinimas Tikslas
Etiketė Jis naudojamas pagalbos pranešimui vartotojui parodyti.
Mygtukas Jis naudojamas norint pridėti skirtingus programos mygtukus.
Rėmas Jis veikia kaip valdiklių konteineris, kuriame yra įvairių tipų valdiklių, skirtų organizuotai formai kurti.
Įėjimas Jis naudojamas vienos eilutės tekstui iš vartotojo paimti.
Patikrinimo mygtukas Jis naudojamas norint pridėti žymės langelio mygtukus, kad iš kelių parinkčių būtų galima įvesti kelis vartotojo duomenis.
Radijo mygtukas Jis naudojamas radijo mygtukams pridėti, kad būtų galima gauti vieną vartotojo įvestį iš kelių parinkčių.
Combobox mygtukas Jis naudojamas norint įtraukti išskleidžiamąjį sąrašą, kad būtų galima gauti vieną vartotojo įvestį iš kelių parinkčių.
ListBox Jis naudojamas sąrašo laukeliui pridėti, kad iš kelių parinkčių būtų galima gauti kelis vartotojo duomenis.
Tekstas Jis naudojamas kelių eilučių tekstui iš vartotojo paimti.
Pranešimas Jis naudojamas vartotojui parodyti pranešimo langą.
Slinkties juosta Jis naudojamas langui pridėti slinkties juostą, kad būtų galima slinkti langu aukštyn ir žemyn.
Meniu mygtukas Jis naudojamas meniu parodyti vartotojui.
Meniu Jis naudojamas meniu elementams parodyti vartotojui.
PanedWindow Jis veikia kaip valdiklių konteineris, kuriame yra horizontalios ir vertikalios sritys.
Skirtukai Jis naudojamas skirtuko langui pridėti programoje.

Įvairūs Tkinter pavyzdžiai

Kai kurių įprastų tkinter valdiklių naudojimas parodytas šiuose pavyzdžiuose.

1 pavyzdys: sukurkite paprastą GUI programą

Sukurkite Python failą su šiuo turiniu, kuriame ekrano centre būtų rodomas dialogo langas su pavadinimu ir konkrečiu aukščiu bei pločiu:



#Importuokite būtiną modulį
iš tkinter importo *

#Sukurti objektą langui
tkobj = Tk ( )

#Nustatykite lango pavadinimą
tkobj.pavadinimas ( „Išmok tkinter modulį“ )

#Nustatykite lango aukštį ir plotį
tkobj.geometrija ( „300 x 150“ )

#Nustatykite lango rodymo padėtį centre
tkobj.eval ( 'tk::PlaceWindow . centras' )

#Paleiskite Tkinterį
tkobj.mainloop ( )

Išvestis:

Įvykdžius scenarijų pasirodo ši išvestis. Rodomas dialogo langas su pavadinimu „Sužinokite tkinter modulį“:

2 pavyzdys: etiketės ir mygtuko naudojimas

Sukurkite Python failą naudodami šį scenarijų, kuriame bus rodomas langas su etikete ir dialogo langas:

#Importuokite būtiną modulį
iš tkinter importo *

#Sukurkite objektą langui
tkobj = Tk ( )

#Nustatykite lango pavadinimą
tkobj.pavadinimas ( „Išmok tkinter modulį“ )

#Nustatykite lango aukštį ir plotį
tkobj.geometrija ( „400 x 150“ )

#Apibrėžkite etiketės objektą
lbl = etiketė ( tkobj, tekstą = 'Tai paprastas langas' )
#Pridėkite etiketę prie lango
lbl.pack ( ipadx = 30 , ipad = dvidešimt )

#Apibrėžkite mygtuko objektą
btn = mygtukas ( tkobj, tekstą = 'Paspausk mane' )
#Pridėti mygtuką prie lango su padėtimi
btn.pack ( ipadx = 30 , ipad = 10 )

#Nustatykite lango rodymo padėtį centre
tkobj.eval ( 'tk::PlaceWindow . centras' )

#Paleiskite Tkinterį
tkobj.mainloop ( )

Išvestis:

Įvykdžius scenarijų ekrano centre pasirodo langas su etikete ir mygtuku.

3 pavyzdys: nustatykite šrifto spalvą ir fono spalvą

Sukurkite Python failą naudodami šį scenarijų, kuriame bus rodomas langas su etikete ir spalvingu mygtuku. Čia fono atributas naudojamas mygtuko fono spalvai nustatyti, o priekinio plano atributas – mygtuko šrifto spalvai nustatyti:

#Importuokite būtiną modulį
iš tkinter importo *

#Sukurkite objektą langui
tkobj = Tk ( )

#Nustatykite lango pavadinimą
tkobj.pavadinimas ( „Išmok tkinter modulį“ )

#Nustatykite lango aukštį ir plotį
tkobj.geometrija ( „400 x 150“ )

#Apibrėžkite etiketės objektą
lbl = etiketė ( tkobj, tekstą = „Nustatyti fono ir priekinio plano spalvą“ )
#Pridėkite etiketę prie lango
lbl.pack ( ipadx = 30 , ipad = dvidešimt )

#Apibrėžkite mygtuko objektą fono ir priekinio plano spalvomis
btn = mygtukas ( tkobj, tekstą = 'Paspausk mane' , fone = 'mėlyna' , priekinio plano = 'raudona' )
#Pridėti mygtuką prie lango su padėtimi
btn.pack ( ipadx = 30 , ipad = 8 )

#Nustatykite lango rodymo padėtį centre
tkobj.eval ( 'tk::PlaceWindow . centras' )

#Paleiskite Tkinterį
tkobj.mainloop ( )

Išvestis:

Įvykdžius scenarijų pasirodo toks langas:

4 pavyzdys: rėmelio naudojimas

Šiame Python scenarijuje etiketė ir du mygtukai rodomi rėmelio valdiklyje. Sukurkite Python failą su scenarijumi, kad patikrintumėte išvestį:

#Importuokite būtiną modulį
iš tkinter importo *

#Sukurkite objektą langui
tkobj = Tk ( )

#Nustatykite lango pavadinimą
tkobj.pavadinimas ( 'tkinter modulis' )

#Nustatykite lango aukštį ir plotį
tkobj.geometrija ( „250 x 100“ )

#Apibrėžkite rėmelio objektus
frm = Rėmas ( tkobj )
frm.pack ( )
lframe = rėmelis ( tkobj )
lframe.pack ( pusėje = KAIRĖ )
rframe = rėmelis ( tkobj )
rframe.pack ( pusėje = TEISINGAI )

#Apibrėžkite etiketę rėmelio viduje
lbl = etiketė ( nuo tekstą = 'Rėmo naudojimas' , fg = 'mėlyna' )
lbl.pack ( )

#Apibrėžkite mygtukus rėmelio viduje
btn1 = mygtukas ( lframe, tekstą = '' , fg = 'juodas' , bg = 'balta' )
btn2.pack ( pusėje = TEISINGAI )

#Nustatykite lango rodymo padėtį centre
tkobj.eval ( 'tk::PlaceWindow . centras' )

#Paleiskite Tkinterį
tkobj.mainloop ( )

Išvestis:

Įvykdžius scenarijų pasirodo ši išvestis:

5 pavyzdys: tvarkykite mygtuko įvykį

Pranešimo laukelio naudojimas parodytas šiame scenarijuje. Paspaudus mygtuką rodomas pranešimų laukelis:

#Importuokite būtinus modulius
iš tkinter importo *
iš tkinter importo pranešimų dėžutės

#Sukurkite objektą langui
tkobj = Tk ( )

#Nustatykite lango pavadinimą
tkobj.pavadinimas ( „Išmok tkinter modulį“ )

#Nustatykite lango aukštį ir plotį
tkobj.geometrija ( „400 x 150“ )

#Apibrėžkite funkciją, kad būtų rodomas pranešimų laukelis
def ekranas ( ) :
pranešimų dėžutė.showinfo ( 'Informacija' , 'Mygtukas paspaustas'. )

#Sukurkite etiketės tekstą su šrifto spalva, stiliumi ir padėtimi
Etiketė ( tkobj, tekstą = „Stalinio kompiuterio programa naudojant tkinter“. , fg = 'žalias' ) .paketas ( Paddy = 25 )

#Sukurkite mygtuką naudodami mygtukų tvarkyklę
Mygtukas ( tkobj, tekstą = 'Rodyti pranešimą' , komandą = ekranas ) .paketas ( )

#Nustatykite lango rodymo padėtį centre
tkobj.eval ( 'tk::PlaceWindow . centras' )

#Paleiskite Tkinterį
tkobj.mainloop ( )

Išvestis:

Įvykdžius scenarijų pasirodo toks langas:

Paspaudus mygtuką pasirodo toks pranešimų laukelis:

6 pavyzdys: gaukite vartotojo įvestį

tkinter modulyje yra keli valdikliai, skirti priimti vartotojo įvestį. Toliau pateiktame scenarijuje parodytas dažniausiai naudojamų valdiklių naudojimas. Norėdami patikrinti išvestį, sukurkite Python failą su šiuo kodu:

#Importuokite būtinus modulius
iš tkinter importo *
iš tkinter.ttk importo Combobox
iš tkinter importo ttk
importuoti tkinter kaip tk
iš tkinter importo pranešimų dėžutės

#Sukurti tkinter objektą
tkobj = Tk ( )

#Nustatykite lango pavadinimą
tkobj.pavadinimas ( 'Vartotojo informacijos forma' )

#Nustatykite lango aukštį ir plotį
tkobj.geometrija ( „550 x 320“ )

#Apibrėžkite funkciją, kad būtų rodomos formos reikšmės
def display_values ( ) :
#Skaitykite vienos eilutės tekstą
vardas = 'Vardas : ' + name_val.get ( ) + \n
#Perskaitykite pasirinktą radijo mygtuko reikšmę
jeigu lytis.gauti ( ) == 1 :
g = 'Patinas'
Kitas:
g = 'Moteris'
g = 'Lytis : ' + g + \n

#Perskaitykite pasirinktų žymės langelių reikšmes
žaidimas = ''
jeigu g1.get ( ) == 1 :
žaidimas = 'Kriketas'
jeigu g2.get ( ) == 1 :
jeigu žaidimas ! = '' :
žaidimas += ', ' + 'Futbolas'
Kitas:
žaidimas = 'Futbolas'
jeigu g3.get ( ) == 1 :
jeigu žaidimas ! = '' :
žaidimas += ', ' + 'Krepšinis'
Kitas:
žaidimas = 'Krepšinis'
žaidimas = 'Žaidimas:' + žaidimas + \n

#Skaitykite kombinuotojo laukelio reikšmes
šalis = 'Šalis : ' + countryVal.get ( ) + \n
#Perskaitykite kelių eilučių tekstą
adresas = 'Adresas:' + addr.get ( '1.0' , 'galas' ) + \n
#Sujungti visas laukų reikšmes
form_values ​​= vardas + g + žaidimas + šalis + adresas
#Parodykite reikšmes pranešimų laukelyje
pranešimų dėžutė.showinfo ( 'Naudotojo informacijos informacija' , formos_vertės )


#Sukurkite etiketę ir pavadinimo lauką
Etiketė ( tkobj, tekstą = 'Vardas : ' ) .vieta ( x = 100 , ir = dvidešimt )
name_val = StringVar ( )
ttk.Įėjimas ( tkobj, teksto kintamasis =vardas_val ) .paketas ( Padx = 220 , Paddy = dvidešimt )

#Sukurkite etiketę ir radijo mygtuką
Etiketė ( tkobj, tekstą = 'Lytis : ' ) .vieta ( x = 100 , ir = 60 )
lytis = IntVar ( )
lytis.nustatyti ( 1 )
Radijo mygtukas ( tkobj, tekstą = 'Patinas' , kintamasis =lytis, vertė = 1 ) .vieta ( x = 210 , ir = 60 )
Radijo mygtukas ( tkobj, tekstą = 'Moteris' , kintamasis =lytis, vertė = 2 ) .vieta ( x = 290 , ir = 60 )

#Sukurti etiketę ir žymės langelio mygtuką
Etiketė ( tkobj, tekstą = 'Mėgstamiausias žaidimas:' ) .vieta ( x = 100 , ir = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
Patikrinimo mygtukas ( tkobj, tekstą = 'Kriketas' , kintamasis =g1 ) .vieta ( x = 210 , ir = 100 )
Patikrinimo mygtukas ( tkobj, tekstą = 'Futbolas' , kintamasis =g2 ) .vieta ( x = 290 , ir = 100 )
Patikrinimo mygtukas ( tkobj, tekstą = 'Krepšinis' , kintamasis =g3 ) .vieta ( x = 380 , ir = 100 )

#Apibrėžkite kortelių reikšmes
duomenys = ( 'Bangladešas' , 'Japonija' , 'JAV' )
#Sukurti etiketę ir kombinuotąjį laukelį
Etiketė ( tkobj, tekstą = 'Šalis : ' ) .vieta ( x = 100 , ir = 140 )
countryVal = StringVar ( )
Combobox ( tkobj, vertybes =duomenys, teksto kintamasis =šalisVal ) .vieta ( x = 220 , ir = 140 )

#Sukurkite etiketę ir teksto lauką
Etiketė ( tkobj, tekstą = 'Adresas:' ) .vieta ( x = 100 , ir = 180 )
adr = ( tk.Tekstas ( tkobj, aukščio = 3 , plotis = dvidešimt ) )
adr.vieta ( x = 220 , ir = 180 )

#Sukurkite mygtuką naudodami mygtukų tvarkyklę
Mygtukas ( tkobj, tekstą = 'Pateikti' , komandą =rodyti_vertes ) .vieta ( x = 250 , ir = 250 )

#Paleiskite Tkinterį
tkobj.mainloop ( )

Išvestis:

Įvykdžius scenarijų pasirodo šis langas:

Užpildykite formos laukelius ir paspauskite mygtuką „Pateikti“.

Pasirodys toks pranešimų laukelis su pateiktomis reikšmėmis:

Išvada

Python tkinter modulio naudojimo GUI programoms kurti metodai parodyti šioje pamokoje naudojant kelis pavyzdžius.