Primjeri Python Tkinter

Primjeri Python Tkinter



Python je svestran programski jezik koji se može koristiti za implementaciju različitih vrsta aplikacija. Ima mnoge vrste modula za izradu aplikacija temeljenih na GUI (grafičkom korisničkom sučelju). Python tkinter je jedan od njih. Bilo koja desktop aplikacija može se jednostavno implementirati pomoću modula tkinter. Bilo bi bolje ako imate osnovno znanje o programiranju u Pythonu kako biste naučili koristiti modul Python tkinter. Različite upotrebe modula Python tkinter za izradu GUI aplikacija prikazane su u ovom vodiču.

Instalirajte Tkinter modul

Modul tkinter nije instaliran na Python prema zadanim postavkama. Dakle, morate pokrenuti sljedeću naredbu da biste instalirali modul tkinter u verziji Python 3+:







$ sudo prikladan instalirati python3-tk



Različiti Tkinter widgeti

Modul tkinter sadrži razne widgete za različite namjene.







Naziv widgeta Svrha
Označiti Koristi se za prikaz poruke pomoći za korisnika.
Dugme Koristi se za dodavanje različitih gumba u aplikaciju.
Okvir Djeluje kao spremnik widgeta koji sadrži različite vrste widgeta za dizajniranje organiziranog oblika.
Ulazak Koristi se za preuzimanje teksta od jednog retka od korisnika.
Potvrdni gumb Koristi se za dodavanje gumba potvrdnih okvira za višestruke unose od korisnika iz više opcija.
Radio gumb Koristi se za dodavanje radio gumba za preuzimanje jednog unosa od korisnika iz više opcija.
Gumb Combobox Koristi se za dodavanje padajućeg popisa za uzimanje jednog unosa od korisnika iz više opcija.
ListBox Koristi se za dodavanje okvira s popisom za više unosa od korisnika iz više opcija.
Tekst Koristi se za preuzimanje višerednog teksta od korisnika.
Poruka Koristi se za prikaz prozora s porukom za korisnika.
Traka za pomicanje Koristi se za dodavanje trake za pomicanje u prozoru za pomicanje prozora gore i dolje.
Gumb izbornika Koristi se za prikaz izbornika korisniku.
Jelovnik Koristi se za prikaz stavki izbornika korisniku.
PanedWindow Djeluje kao spremnik widgeta koji sadrži vodoravna i okomita okna.
Kartice Koristi se za dodavanje prozora kartice u aplikaciju.

Različiti Tkinter primjeri

Upotreba nekih uobičajenih tkinter widgeta prikazana je u sljedećim primjerima.

Primjer 1: Napravite jednostavnu GUI aplikaciju

Stvorite Python datoteku sa sljedećim sadržajem koji prikazuje dijaloški okvir u sredini zaslona s naslovom i određenom visinom i širinom:



#Uvezi potreban modul
iz tkinter importa *

#Stvorite objekt za prozor
tkobj = Tk ( )

#Postavite naslov prozora
tkobj.naslov ( 'Naučite tkinter modul' )

#Postavite visinu i širinu prozora
tkobj.geometrija ( '300x150' )

#Postavite položaj prikaza prozora na sredini
tkobj.eval ( 'tk::PlaceWindow . centar' )

#Pokreni Tkinter
tkobj.glavna petlja ( )

Izlaz:

Nakon izvršavanja skripte pojavljuje se sljedeći izlaz. Prikazuje se dijaloški okvir s naslovom 'Naučite tkinter modul':

Primjer 2: Upotreba oznake i gumba

Stvorite Python datoteku sa sljedećom skriptom koja prikazuje prozor s oznakom i dijaloški okvir:

#Uvezi potreban modul
iz tkinter importa *

#Stvorite objekt za prozor
tkobj = Tk ( )

#Postavite naslov prozora
tkobj.naslov ( 'Naučite tkinter modul' )

#Postavite visinu i širinu prozora
tkobj.geometrija ( '400x150' )

#Definirajte objekt oznake
lbl = Oznaka ( tkobj, tekst = 'To je jednostavan prozor' )
#Dodaj oznaku u prozor
lbl.pak ( ipadx = 30 , iPads = dvadeset )

#Definirajte objekt gumba
btn = Gumb ( tkobj, tekst = 'klikni me' )
#Dodaj gumb u prozor s pozicijom
btn.pack ( ipadx = 30 , iPads = 10 )

#Postavite položaj prikaza prozora na sredini
tkobj.eval ( 'tk::PlaceWindow . centar' )

#Pokreni Tkinter
tkobj.glavna petlja ( )

Izlaz:

Prozor s oznakom i gumbom pojavljuje se u sredini ekrana nakon izvršavanja skripte.

Primjer 3: Postavite boju fonta i boju pozadine

Stvorite Python datoteku sa sljedećom skriptom koja prikazuje prozor s oznakom i šarenim gumbom. Ovdje se atribut pozadine koristi za postavljanje boje pozadine gumba, a atribut prednjeg plana koristi se za postavljanje boje fonta gumba:

#Uvezi potreban modul
iz tkinter importa *

#Stvorite objekt za prozor
tkobj = Tk ( )

#Postavite naslov prozora
tkobj.naslov ( 'Naučite tkinter modul' )

#Postavite visinu i širinu prozora
tkobj.geometrija ( '400x150' )

#Definirajte objekt oznake
lbl = Oznaka ( tkobj, tekst = 'Postavi boju pozadine i prednjeg plana' )
#Dodaj oznaku u prozor
lbl.pak ( ipadx = 30 , iPads = dvadeset )

#Definirajte objekt gumba s bojom pozadine i prednjeg plana
btn = Gumb ( tkobj, tekst = 'klikni me' , pozadina = 'plava' , prvi plan = 'Crvena' )
#Dodaj gumb u prozor s pozicijom
btn.pack ( ipadx = 30 , iPads = 8 )

#Postavite položaj prikaza prozora na sredini
tkobj.eval ( 'tk::PlaceWindow . centar' )

#Pokreni Tkinter
tkobj.glavna petlja ( )

Izlaz:

Nakon izvršavanja skripte pojavljuje se sljedeći prozor:

Primjer 4: Upotreba okvira

U sljedećoj Python skripti, oznaka i dva gumba prikazani su unutar okvira widgeta. Napravite Python datoteku sa skriptom za provjeru rezultata:

#Uvezi potreban modul
iz tkinter importa *

#Stvorite objekt za prozor
tkobj = Tk ( )

#Postavite naslov prozora
tkobj.naslov ( 'tkinter modul' )

#Postavite visinu i širinu prozora
tkobj.geometrija ( '250x100' )

#Definirajte okvirne objekte
frm = Okvir ( tkobj )
frm.pakirati ( )
lframe = Okvir ( tkobj )
lframe.pack ( strana =LIJEVO )
rframe = Okvir ( tkobj )
rframe.pack ( strana = PRAVO )

#Definirajte oznaku unutar okvira
lbl = Oznaka ( frm, tekst = 'Upotreba okvira' , fg = 'plava' )
lbl.pak ( )

#Definirajte gumbe unutar okvira
btn1 = Gumb ( okvir, tekst = '' , fg = 'crno' , bg = 'bijelo' )
btn2.pack ( strana = PRAVO )

#Postavite položaj prikaza prozora na sredini
tkobj.eval ( 'tk::PlaceWindow . centar' )

#Pokreni Tkinter
tkobj.glavna petlja ( )

Izlaz:

Nakon izvršavanja skripte pojavljuje se sljedeći izlaz:

Primjer 5: Rukovanje događajem gumba

Upotreba okvira za poruke prikazana je u sljedećoj skripti. Okvir s porukom se prikazuje kada se klikne gumb:

#Uvezite potrebne module
iz tkinter importa *
iz okvira za poruke tkinter import

#Stvorite objekt za prozor
tkobj = Tk ( )

#Postavite naslov prozora
tkobj.naslov ( 'Naučite tkinter modul' )

#Postavite visinu i širinu prozora
tkobj.geometrija ( '400x150' )

#Definirajte funkciju za prikaz okvira s porukom
def prikaz ( ) :
okvir za poruke.showinfo ( 'Informacija' , 'Gumb je kliknut.' )

#Stvorite tekst naljepnice s bojom fonta, stilom i položajem
Označiti ( tkobj, tekst = 'Desktop aplikacija koja koristi tkinter.' , fg = 'zeleno' ) .paket ( Riža = 25 )

#Stvorite gumb pomoću rukovatelja gumbima
Dugme ( tkobj, tekst = 'Prikaži poruku' , naredba = prikaz ) .paket ( )

#Postavite položaj prikaza prozora na sredini
tkobj.eval ( 'tk::PlaceWindow . centar' )

#Pokreni Tkinter
tkobj.glavna petlja ( )

Izlaz:

Nakon izvršavanja skripte pojavljuje se sljedeći prozor:

Nakon pritiska na gumb pojavljuje se sljedeći okvir s porukom:

Primjer 6: Uzmite unos od korisnika

Višestruki widgeti dostupni su u modulu tkinter za primanje unosa od korisnika. Upotreba najčešćih widgeta prikazana je u sljedećoj skripti. Napravite Python datoteku sa sljedećim kodom za provjeru rezultata:

#Uvezite potrebne module
iz tkinter importa *
iz tkinter.ttk import Combobox
iz tkinter import ttk
import tkinter kao tk
iz okvira za poruke tkinter import

#Stvorite tkinter objekt
tkobj = Tk ( )

#Postavite naslov prozora
tkobj.naslov ( 'Obrazac s informacijama o korisniku' )

#Postavite visinu i širinu prozora
tkobj.geometrija ( '550x320' )

#Definirajte funkciju za prikaz vrijednosti obrasca
def prikaz_vrijednosti ( ) :
#Pročitajte tekst od jednog retka
ime = 'Ime : ' + name_val.get ( ) + ' \n '
#Pročitajte odabranu vrijednost radio gumba
ako rod.dobiti ( ) == 1 :
g = 'Muški'
drugo:
g = 'Žena'
g = 'Spol:' + g + ' \n '

#Pročitajte odabrane vrijednosti potvrdnog okvira
igra = ''
ako g1.get ( ) == 1 :
igra = 'Kriket'
ako g2.get ( ) == 1 :
ako igra ! = '' :
igra += ', ' + 'Nogomet'
drugo:
igra = 'Nogomet'
ako g3.get ( ) == 1 :
ako igra ! = '' :
igra += ', ' + 'Košarka'
drugo:
igra = 'Košarka'
igra = 'Igra : ' + igra + ' \n '

#Pročitajte vrijednosti kombiniranog okvira
zemlja = 'Država:' + countryVal.get ( ) + ' \n '
#Pročitajte višeredni tekst
adresa = 'Adresa : ' + addr.get ( '1,0' , 'kraj' ) + ' \n '
#Spoji sve vrijednosti koje zauzimaju polja
form_values ​​= ime + g + igra + država + adresa
#Prikaži vrijednosti u okviru s porukom
okvir za poruke.showinfo ( 'Podaci o korisniku' , vrijednosti_forma )


#Stvorite oznaku i polje za naziv
Označiti ( tkobj, tekst = 'Ime : ' ) .mjesto ( x = 100 , i = dvadeset )
name_val = StringVar ( )
ttk.Ulazak ( tkobj, tekstualna varijabla =vrijednost_naziva ) .paket ( Padx = 220 , Riža = dvadeset )

#Stvorite oznaku i radio gumb
Označiti ( tkobj, tekst = 'Spol:' ) .mjesto ( x = 100 , i = 60 )
spol = IntVar ( )
spol.set ( 1 )
Radio gumb ( tkobj, tekst = 'Muški' , varijabla = spol, vrijednost = 1 ) .mjesto ( x = 210 , i = 60 )
Radio gumb ( tkobj, tekst = 'Žena' , varijabla = spol, vrijednost = 2 ) .mjesto ( x = 290 , i = 60 )

#Stvorite oznaku i gumb za potvrdni okvir
Označiti ( tkobj, tekst = 'Omiljena igra:' ) .mjesto ( x = 100 , i = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
Potvrdni gumb ( tkobj, tekst = 'Kriket' , varijabla =g1 ) .mjesto ( x = 210 , i = 100 )
Potvrdni gumb ( tkobj, tekst = 'Nogomet' , varijabla =g2 ) .mjesto ( x = 290 , i = 100 )
Potvrdni gumb ( tkobj, tekst = 'Košarka' , varijabla =g3 ) .mjesto ( x = 380 , i = 100 )

#Definirajte vrijednosti torki
podaci = ( 'Bangladeš' , 'Japan' , 'SAD' )
#Stvorite oznaku i kombinirani okvir
Označiti ( tkobj, tekst = 'Država:' ) .mjesto ( x = 100 , i = 140 )
countryVal = StringVar ( )
Combobox ( tkobj, vrijednosti = podaci, tekstualna varijabla =countryVal ) .mjesto ( x = 220 , i = 140 )

#Stvorite oznaku i tekstualno polje
Označiti ( tkobj, tekst = 'Adresa : ' ) .mjesto ( x = 100 , i = 180 )
adresa = ( tk.Tekst ( tkobj, visina = 3 , širina = dvadeset ) )
adresa mjesto ( x = 220 , i = 180 )

#Stvorite gumb pomoću rukovatelja gumbima
Dugme ( tkobj, tekst = 'Podnijeti' , naredba =prikaz_vrijednosti ) .mjesto ( x = 250 , i = 250 )

#Pokreni Tkinter
tkobj.glavna petlja ( )

Izlaz:

Nakon izvršavanja skripte pojavljuje se sljedeći prozor:

Ispunite polja obrasca i pritisnite gumb 'Pošalji'.

Pojavit će se sljedeći okvir s porukom s dostavljenim vrijednostima:

Zaključak

Metode korištenja modula Python tkinter za izradu GUI aplikacija prikazane su u ovom vodiču pomoću više primjera.