Python Tkinter Exemple

Python Tkinter Exemple



Python este un limbaj de programare versatil care poate fi folosit pentru a implementa diferite tipuri de aplicații. Are multe tipuri de module pentru a crea aplicații bazate pe GUI (Graphical User Interface). Python tkinter este unul dintre ele. Orice aplicație desktop poate fi implementată cu ușurință folosind modulul tkinter. Va fi mai bine dacă aveți cunoștințe de bază despre programarea Python pentru a învăța utilizările modulului Python tkinter. În acest tutorial sunt prezentate diferite utilizări ale modulului Python tkinter pentru a crea aplicații GUI.

Instalați modulul Tkinter

Modulul tkinter nu este instalat implicit pe Python. Deci, trebuie să rulați următoarea comandă pentru a instala modulul tkinter în versiunea Python 3+:







$ sudo apt instalare python3-tk



Diferite widget-uri Tkinter

Modulul tkinter conține diverse widget-uri pentru diverse scopuri.







Nume widget Scop
Eticheta Este folosit pentru a afișa mesajul de ajutor pentru utilizator.
Buton Este folosit pentru a adăuga diferite butoane în aplicație.
Cadru Funcționează ca un container de widget-uri care conține diferite tipuri de widget-uri pentru a proiecta un formular organizat.
Intrare Este folosit pentru a prelua un text pe o singură linie de la utilizator.
Buton de verificare Este folosit pentru a adăuga butoanele casetei de selectare pentru a prelua mai multe intrări de la utilizator din mai multe opțiuni.
Buton de radio Este folosit pentru a adăuga butoanele radio pentru a prelua o singură intrare de la utilizator din mai multe opțiuni.
Butonul Combobox Este folosit pentru a adăuga o listă derulantă pentru a prelua o singură intrare de la utilizator din mai multe opțiuni.
ListBox Este folosit pentru a adăuga o listă pentru a prelua mai multe intrări de la utilizator din mai multe opțiuni.
Text Este folosit pentru a prelua un text cu mai multe rânduri de la utilizator.
Mesaj Este folosit pentru a afișa fereastra de mesaj pentru utilizator.
Bara de defilare Este folosit pentru a adăuga o bară de derulare în fereastră pentru a derula fereastra în sus și în jos.
butonul Meniu Este folosit pentru a afișa meniul utilizatorului.
Meniul Este folosit pentru a afișa elementele de meniu pentru utilizator.
PanedWindow Funcționează ca un container de widget care conține panourile orizontale și verticale.
Filele Este folosit pentru a adăuga o fereastră de filă în aplicație.

Diferite exemple Tkinter

Utilizările unor widget-uri tkinter comune sunt prezentate în exemplele următoare.

Exemplul 1: Creați o aplicație GUI simplă

Creați un fișier Python cu următorul conținut care afișează o casetă de dialog în centrul ecranului cu un titlu și înălțimea și lățimea specifice:



#Importați modulul necesar
de la import tkinter *

#Creați obiect pentru fereastră
tkobj = Tk ( )

#Setați titlul ferestrei
tkobj.titlu ( „Învățați modulul tkinter” )

#Setați înălțimea și lățimea ferestrei
tkobj.geometrie ( „300x150” )

#Setați poziția de afișare a ferestrei central
tkobj.eval ( 'tk::PlaceWindow . centru' )

#Rulează Tkinter
tkobj.mainloop ( )

Ieșire:

Următoarea ieșire apare după executarea scriptului. Se afișează o casetă de dialog cu titlul „Învățați modulul tkinter”:

Exemplul 2: Utilizarea etichetei și a butonului

Creați un fișier Python cu următorul script care afișează o fereastră cu o etichetă și o casetă de dialog:

#Importați modulul necesar
de la import tkinter *

#Creează un obiect pentru fereastră
tkobj = Tk ( )

#Setați titlul ferestrei
tkobj.titlu ( „Învățați modulul tkinter” )

#Setați înălțimea și lățimea ferestrei
tkobj.geometrie ( „400x150” )

#Definiți obiectul etichetă
lbl = Etichetă ( tkobj, text = „Este o fereastră simplă” )
#Adăugați o etichetă în fereastră
lbl.pachet ( ipadx = 30 , iPad-uri = douăzeci )

#Define obiect buton
btn = Buton ( tkobj, text = 'Clic pe mine' )
#Adăugați butonul la fereastra cu poziția
btn.pack ( ipadx = 30 , iPad-uri = 10 )

#Setați poziția de afișare a ferestrei central
tkobj.eval ( 'tk::PlaceWindow . centru' )

#Rulează Tkinter
tkobj.mainloop ( )

Ieșire:

O fereastră cu o etichetă și un buton apare în centrul ecranului după executarea scriptului.

Exemplul 3: Setați culoarea fontului și culoarea fundalului

Creați un fișier Python cu următorul script care afișează o fereastră cu o etichetă și un buton colorat. Aici, atributul de fundal este folosit pentru a seta culoarea de fundal a butonului, iar atributul de prim-plan este folosit pentru a seta culoarea fontului butonului:

#Importați modulul necesar
de la import tkinter *

#Creează un obiect pentru fereastră
tkobj = Tk ( )

#Setați titlul ferestrei
tkobj.titlu ( „Învățați modulul tkinter” )

#Setați înălțimea și lățimea ferestrei
tkobj.geometrie ( „400x150” )

#Definiți obiectul etichetă
lbl = Etichetă ( tkobj, text = „Setați culoarea fundalului și a primului plan” )
#Adăugați o etichetă în fereastră
lbl.pachet ( ipadx = 30 , iPad-uri = douăzeci )

#Definiți obiectul butonului cu culoarea de fundal și prim-plan
btn = Buton ( tkobj, text = 'Clic pe mine' , fundal = 'albastru' , prim plan = 'roșu' )
#Adăugați butonul la fereastra cu poziția
btn.pack ( ipadx = 30 , iPad-uri = 8 )

#Setați poziția de afișare a ferestrei central
tkobj.eval ( 'tk::PlaceWindow . centru' )

#Rulează Tkinter
tkobj.mainloop ( )

Ieșire:

Următoarea fereastră apare după executarea scriptului:

Exemplul 4: Utilizarea cadrului

În următorul script Python, o etichetă și două butoane sunt afișate într-un widget cadru. Creați un fișier Python cu scriptul pentru a verifica rezultatul:

#Importați modulul necesar
de la import tkinter *

#Creează un obiect pentru fereastră
tkobj = Tk ( )

#Setați titlul ferestrei
tkobj.titlu ( „Modul tkinter” )

#Setați înălțimea și lățimea ferestrei
tkobj.geometrie ( „250x100” )

#Definiți obiectele cadru
frm = Cadru ( tkobj )
frm.pachet ( )
lframe = cadru ( tkobj )
lframe.pachet ( latură =STÂNGA )
rframe = Cadru ( tkobj )
rframe.pachet ( latură = DREAPTA )

#Definește eticheta în interiorul cadrului
lbl = Etichetă ( frm, text = „Utilizarea cadrului” , fg = 'albastru' )
lbl.pachet ( )

#Definiți butoanele în interiorul cadrului
btn1 = Buton ( lcadru, text = '' , fg = 'negru' , bg = 'alb' )
btn2.pack ( latură = DREAPTA )

#Setați poziția de afișare a ferestrei central
tkobj.eval ( 'tk::PlaceWindow . centru' )

#Rulează Tkinter
tkobj.mainloop ( )

Ieșire:

Următoarea ieșire apare după executarea scriptului:

Exemplul 5: Gestionați evenimentul Buton

Utilizarea casetei de mesaj este prezentată în următorul script. Caseta de mesaj este afișată când se face clic pe un buton:

#Importați modulele necesare
de la import tkinter *
din caseta de mesaje de import tkinter

#Creează un obiect pentru fereastră
tkobj = Tk ( )

#Setați titlul ferestrei
tkobj.titlu ( „Învățați modulul tkinter” )

#Setați înălțimea și lățimea ferestrei
tkobj.geometrie ( „400x150” )

#Definiți o funcție pentru afișarea unei casete de mesaj
def display ( ) :
mesajbox.showinfo ( 'Informație' , „Butonul este apăsat”. )

#Creați text de etichetă cu culoarea fontului, stil și poziție
Eticheta ( tkobj, text = „Aplicație desktop care utilizează tkinter”. , fg = 'verde' ) .ambalaj ( Orez = 25 )

#Creează un buton cu un handler de buton
Buton ( tkobj, text = „Afișați mesajul” , comanda =afisare ) .ambalaj ( )

#Setați poziția de afișare a ferestrei central
tkobj.eval ( 'tk::PlaceWindow . centru' )

#Rulează Tkinter
tkobj.mainloop ( )

Ieșire:

Următoarea fereastră apare după executarea scriptului:

Următoarea casetă de mesaj apare după apăsarea butonului:

Exemplul 6: Preluați o intrare de la utilizator

În modulul tkinter sunt disponibile mai multe widget-uri pentru a prelua o intrare de la utilizator. Utilizările celor mai comune widget-uri sunt afișate în următorul script. Creați un fișier Python cu următorul cod pentru a verifica rezultatul:

#Importați modulele necesare
de la import tkinter *
din tkinter.ttk import Combobox
din tkinter import ttk
import tkinter la fel de tk
din caseta de mesaje de import tkinter

#Creați obiectul tkinter
tkobj = Tk ( )

#Setați titlul ferestrei
tkobj.titlu ( „Formular de informații despre utilizator” )

#Setați înălțimea și lățimea ferestrei
tkobj.geometrie ( „550x320” )

#Definiți o funcție pentru afișarea valorilor formularului
def display_values ( ) :
#Citiți textul pe o singură linie
nume = 'Nume : ' + name_val.get ( ) + ' \n '
#Citiți valoarea butonului radio selectat
dacă gen.get ( ) == 1 :
g = 'Masculin'
altceva:
g = 'Femeie'
g = 'Sex:' + g + ' \n '

#Citiți valorile casetei de selectare selectate
joc = ''
dacă g1.get ( ) == 1 :
joc = 'crichet'
dacă g2.get ( ) == 1 :
dacă joc ! = '' :
joc += ', ' + 'Fotbal'
altceva:
joc = 'Fotbal'
dacă g3.get ( ) == 1 :
dacă joc ! = '' :
joc += ', ' + 'Baschet'
altceva:
joc = 'Baschet'
joc = 'Joc : ' + joc + ' \n '

#Citiți valorile casetei combinate
tara = 'Țară : ' + countryVal.get ( ) + ' \n '
#Citiți textul cu mai multe rânduri
adresa = 'Abordare : ' + addr.get ( „1.0” , 'Sfârşit' ) + ' \n '
#Îmbinați toate valorile luate de câmpuri
form_values ​​= nume + g + joc + țară + adresă
#Afișați valorile în caseta de mesaj
mesajbox.showinfo ( „Detalii informații despre utilizator” , form_values )


#Creează o etichetă și câmpul de nume
Eticheta ( tkobj, text = 'Nume : ' ) .loc ( X = 100 , și = douăzeci )
name_val = StringVar ( )
ttk.Intrare ( tkobj, textvariable =name_val ) .ambalaj ( Padx = 220 , Orez = douăzeci )

#Creează o etichetă și butonul radio
Eticheta ( tkobj, text = 'Sex:' ) .loc ( X = 100 , și = 60 )
gen = IntVar ( )
gen.set ( 1 )
Buton de radio ( tkobj, text = 'Masculin' , variabil =gen, valoare = 1 ) .loc ( X = 210 , și = 60 )
Buton de radio ( tkobj, text = 'Femeie' , variabil =gen, valoare = 2 ) .loc ( X = 290 , și = 60 )

#Creează o etichetă și un buton pentru casetă de selectare
Eticheta ( tkobj, text = 'Jocul preferat:' ) .loc ( X = 100 , și = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
Buton de verificare ( tkobj, text = 'crichet' , variabil =g1 ) .loc ( X = 210 , și = 100 )
Buton de verificare ( tkobj, text = 'Fotbal' , variabil =g2 ) .loc ( X = 290 , și = 100 )
Buton de verificare ( tkobj, text = 'Baschet' , variabil =g3 ) .loc ( X = 380 , și = 100 )

#Definiți valori de tuplu
date = ( „Bangladesh” , 'Japonia' , 'STATELE UNITE ALE AMERICII' )
#Creează etichetă și casetă combinată
Eticheta ( tkobj, text = 'Țară : ' ) .loc ( X = 100 , și = 140 )
countryVal = StringVar ( )
Combobox ( tkobj, valorile =date, textvariable =countryVal ) .loc ( X = 220 , și = 140 )

#Creează etichetă și câmp de text
Eticheta ( tkobj, text = 'Abordare : ' ) .loc ( X = 100 , și = 180 )
addr = ( tk.Text ( tkobj, înălţime = 3 , lăţime = douăzeci ) )
adresa.loc ( X = 220 , și = 180 )

#Creează un buton cu un handler de buton
Buton ( tkobj, text = 'Trimite' , comanda =valori_afisate ) .loc ( X = 250 , și = 250 )

#Rulează Tkinter
tkobj.mainloop ( )

Ieșire:

Următoarea fereastră apare după executarea scriptului:

Completați câmpurile formularului și apăsați pe butonul „Trimite”.

Va apărea următoarea casetă de mesaj cu valorile trimise:

Concluzie

Metodele de utilizare a modulului Python tkinter pentru a crea aplicațiile GUI sunt prezentate în acest tutorial folosind mai multe exemple.