Python Tkinter piemēri

Python Tkinter Piemeri



Python ir daudzpusīga programmēšanas valoda, ko var izmantot dažāda veida lietojumprogrammu ieviešanai. Tam ir daudz veidu moduļi, lai izveidotu lietojumprogrammas, kuru pamatā ir GUI (grafiskā lietotāja saskarne). Python tkinter ir viens no tiem. Izmantojot tkinter moduli, var viegli ieviest jebkuru darbvirsmas lietojumprogrammu. Būs labāk, ja jums ir pamatzināšanas par Python programmēšanu, lai apgūtu Python tkinter moduļa lietojumus. Šajā apmācībā ir parādīti dažādi Python tkinter moduļa lietojumi, lai izveidotu GUI lietojumprogrammas.

Instalējiet Tkinter moduli

Tkinter modulis pēc noklusējuma nav instalēts Python. Tātad, lai instalētu tkinter moduli Python 3+ versijā, jums ir jāpalaiž šāda komanda:







$ sudo apt uzstādīt python3-tk



Dažādi Tkinter logrīki

tkinter modulis satur dažādus logrīkus dažādiem mērķiem.







Logrīka nosaukums Mērķis
Etiķete To izmanto, lai lietotājam parādītu palīdzības ziņojumu.
Poga To izmanto, lai lietojumprogrammā pievienotu dažādas pogas.
Rāmis Tas darbojas kā logrīku konteiners, kurā ir dažāda veida logrīki, lai izveidotu sakārtotu formu.
Ieeja To izmanto, lai no lietotāja paņemtu vienas rindiņas tekstu.
Pārbaudes poga To izmanto, lai pievienotu izvēles rūtiņas pogas, lai no lietotāja saņemtu vairākas ievades no vairākām opcijām.
Radio poga To izmanto, lai pievienotu radio pogas, lai no vairākām opcijām saņemtu vienu ievadi no lietotāja.
Kombinētā lodziņa poga To izmanto, lai pievienotu nolaižamo sarakstu, lai no vairākām opcijām saņemtu vienu ievadi no lietotāja.
ListBox To izmanto, lai pievienotu sarakstlodziņu, lai no lietotāja saņemtu vairākas ievades no vairākām opcijām.
Teksts To izmanto, lai no lietotāja paņemtu vairāku rindiņu tekstu.
Ziņa To izmanto, lai lietotājam parādītu ziņojuma logu.
Ritjosla To izmanto, lai logā pievienotu ritjoslu, lai ritinātu logu uz augšu un uz leju.
Izvēlnes poga To izmanto, lai lietotājam parādītu izvēlni.
Izvēlne To izmanto, lai lietotājam parādītu izvēlnes vienumus.
PanedWindow Tas darbojas kā logrīku konteiners, kurā ir horizontālās un vertikālās rūtis.
Cilnes To izmanto, lai lietojumprogrammā pievienotu cilnes logu.

Dažādi Tkintera piemēri

Dažu izplatītu tkinter logrīku lietojumi ir parādīti turpmākajos piemēros.

1. piemērs. Izveidojiet vienkāršu GUI lietojumprogrammu

Izveidojiet Python failu ar šādu saturu, kas parāda dialoglodziņu ekrāna centrā ar nosaukumu un konkrēto augstumu un platumu:



#Importējiet nepieciešamo moduli
no tkinter importa *

#Izveidot objektu logam
tkobj = Tk ( )

#Iestatiet loga nosaukumu
tkobj.title ( 'Apgūstiet tkinter moduli' )

#Iestatiet loga augstumu un platumu
tkobj.ģeometrija ( '300x150' )

#Centrāli iestatiet loga displeja pozīciju
tkobj.eval ( 'tk::PlaceWindow . centrs' )

#Palaidiet Tkinter
tkobj.mainloop ( )

Izvade:

Pēc skripta izpildes tiek parādīta šāda izvade. Tiek parādīts dialoglodziņš ar nosaukumu “Learn tkinter module”:

2. piemērs: etiķetes un pogas izmantošana

Izveidojiet Python failu ar šādu skriptu, kas parāda logu ar etiķeti un dialoglodziņu:

#Importējiet nepieciešamo moduli
no tkinter importa *

#Izveidojiet objektu logam
tkobj = Tk ( )

#Iestatiet loga nosaukumu
tkobj.title ( 'Apgūstiet tkinter moduli' )

#Iestatiet loga augstumu un platumu
tkobj.ģeometrija ( '400x150' )

#Definējiet etiķetes objektu
lbl = etiķete ( tkobj, tekstu = 'Tas ir vienkāršs logs' )
#Pievienojiet logam etiķeti
lbl.pack ( ipadx = 30 , iPads = divdesmit )

#Definēt pogas objektu
btn = poga ( tkobj, tekstu = 'Noklikšķiniet uz mani' )
#Pievienot pogu logam ar pozīciju
btn.pack ( ipadx = 30 , iPads = 10 )

#Centrāli iestatiet loga displeja pozīciju
tkobj.eval ( 'tk::PlaceWindow . centrs' )

#Palaidiet Tkinter
tkobj.mainloop ( )

Izvade:

Pēc skripta izpildes ekrāna centrā parādās logs ar etiķeti un pogu.

3. piemērs: iestatiet fonta krāsu un fona krāsu

Izveidojiet Python failu ar šādu skriptu, kas parāda logu ar etiķeti un krāsainu pogu. Šeit fona atribūts tiek izmantots, lai iestatītu pogas fona krāsu, un priekšplāna atribūts tiek izmantots, lai iestatītu pogas fonta krāsu:

#Importējiet nepieciešamo moduli
no tkinter importa *

#Izveidojiet objektu logam
tkobj = Tk ( )

#Iestatiet loga nosaukumu
tkobj.title ( 'Apgūstiet tkinter moduli' )

#Iestatiet loga augstumu un platumu
tkobj.ģeometrija ( '400x150' )

#Definējiet etiķetes objektu
lbl = etiķete ( tkobj, tekstu = 'Iestatīt fona un priekšplāna krāsu' )
#Pievienojiet logam etiķeti
lbl.pack ( ipadx = 30 , iPads = divdesmit )

#Definējiet pogas objektu ar fona un priekšplāna krāsu
btn = poga ( tkobj, tekstu = 'Noklikšķiniet uz mani' , fons = 'zils' , priekšplānā = 'sarkans' )
#Pievienot pogu logam ar pozīciju
btn.pack ( ipadx = 30 , iPads = 8 )

#Centrāli iestatiet loga displeja pozīciju
tkobj.eval ( 'tk::PlaceWindow . centrs' )

#Palaidiet Tkinter
tkobj.mainloop ( )

Izvade:

Pēc skripta izpildes tiek parādīts šāds logs:

4. piemērs: Rāmja izmantošana

Nākamajā Python skriptā rāmja logrīkā tiek parādīta etiķete un divas pogas. Izveidojiet Python failu ar skriptu, lai pārbaudītu izvadi:

#Importējiet nepieciešamo moduli
no tkinter importa *

#Izveidojiet objektu logam
tkobj = Tk ( )

#Iestatiet loga nosaukumu
tkobj.title ( 'tkinter modulis' )

#Iestatiet loga augstumu un platumu
tkobj.ģeometrija ( '250x100' )

#Definējiet rāmja objektus
frm = rāmis ( tkobj )
frm.pack ( )
lframe = rāmis ( tkobj )
lframe.pack ( pusē = PA kreisi )
rframe = Rāmis ( tkobj )
rframe.pack ( pusē = PAREIZI )

#Definējiet etiķeti rāmī
lbl = etiķete ( frm, tekstu = 'Rāmja izmantošana' , fg = 'zils' )
lbl.pack ( )

#Definējiet pogas rāmī
btn1 = poga ( lframe, tekstu = '' , fg = 'melns' , bg = 'balts' )
btn2.pack ( pusē = PAREIZI )

#Centrāli iestatiet loga displeja pozīciju
tkobj.eval ( 'tk::PlaceWindow . centrs' )

#Palaidiet Tkinter
tkobj.mainloop ( )

Izvade:

Pēc skripta izpildes tiek parādīta šāda izvade:

5. piemērs. Apstrādājiet pogas notikumu

Ziņojuma lodziņa lietošana ir parādīta nākamajā skriptā. Ziņojuma lodziņš tiek parādīts, noklikšķinot uz pogas:

#Importējiet nepieciešamos moduļus
no tkinter importa *
no tkinter importa ziņojumu lodziņa

#Izveidojiet objektu logam
tkobj = Tk ( )

#Iestatiet loga nosaukumu
tkobj.title ( 'Apgūstiet tkinter moduli' )

#Iestatiet loga augstumu un platumu
tkobj.ģeometrija ( '400x150' )

#Definējiet funkciju, lai parādītu ziņojumu lodziņu
def displejs ( ) :
messagebox.showinfo ( 'Informācija' , 'Poga ir noklikšķināta.' )

#Izveidojiet etiķetes tekstu ar fonta krāsu, stilu un pozīciju
Etiķete ( tkobj, tekstu = 'Darbvirsmas lietojumprogramma, izmantojot tkinter.' , fg = 'zaļš' ) .komplekts ( Paddy = 25 )

#Izveidojiet pogu, izmantojot pogu apstrādātāju
Poga ( tkobj, tekstu = 'Rādīt ziņojumu' , komandu = displejs ) .komplekts ( )

#Centrāli iestatiet loga displeja pozīciju
tkobj.eval ( 'tk::PlaceWindow . centrs' )

#Palaidiet Tkinter
tkobj.mainloop ( )

Izvade:

Pēc skripta izpildes tiek parādīts šāds logs:

Pēc pogas nospiešanas tiek parādīts šāds ziņojumu lodziņš:

6. piemērs. Ievadiet lietotāja informāciju

tkinter modulī ir pieejami vairāki logrīki, lai saņemtu ievadi no lietotāja. Visbiežāk lietoto logrīku lietojumi ir parādīti nākamajā skriptā. Lai pārbaudītu izvadi, izveidojiet Python failu ar šādu kodu:

#Importējiet nepieciešamos moduļus
no tkinter importa *
no tkinter.ttk importa Combobox
no tkinter importa ttk
importēt tkinter tk
no tkinter importa ziņojumu lodziņa

#Izveidot tkinter objektu
tkobj = Tk ( )

#Iestatiet loga nosaukumu
tkobj.title ( 'Lietotāja informācijas veidlapa' )

#Iestatiet loga augstumu un platumu
tkobj.ģeometrija ( '550x320' )

#Definējiet funkciju, lai parādītu formas vērtības
def display_values ( ) :
#Lasiet vienas rindiņas tekstu
vārds = 'Vārds:' + name_val.get ( ) + ' \n '
#Izlasiet atlasītās radio pogas vērtību
ja dzimums.get ( ) == 1 :
g = 'Vīrietis'
cits:
g = 'sieviete'
g = 'Dzimums:' + g + ' \n '

#Izlasiet atlasītās izvēles rūtiņas vērtības
spēle = ''
ja g1.get ( ) == 1 :
spēle = 'Krikets'
ja g2.get ( ) == 1 :
ja spēle ! = '' :
spēle += ',' + 'Futbols'
cits:
spēle = 'Futbols'
ja g3.get ( ) == 1 :
ja spēle ! = '' :
spēle += ',' + 'Basketbols'
cits:
spēle = 'Basketbols'
spēle = 'Spēle:' + spēle + ' \n '

#Izlasiet kombinētā lodziņa vērtības
valsts = 'Valsts:' + valstsVal.get ( ) + ' \n '
#Izlasiet vairāku rindiņu tekstu
adrese = 'Adrese : ' + addr.get ( '1.0' , 'beigas' ) + ' \n '
#Apvienojiet visas laukos ņemtās vērtības
form_values ​​= vārds + g + spēle + valsts + adrese
#Parādīt vērtības ziņojuma lodziņā
messagebox.showinfo ( 'Lietotāja informācijas informācija' , formas_vērtības )


#Izveidojiet etiķeti un nosaukuma lauku
Etiķete ( tkobj, tekstu = 'Vārds:' ) .vieta ( x = 100 , un = divdesmit )
name_val = StringVar ( )
ttk.Ieeja ( tkobj, teksta mainīgais =name_val ) .komplekts ( Padx = 220 , Paddy = divdesmit )

#Izveidojiet etiķeti un radio pogu
Etiķete ( tkobj, tekstu = 'Dzimums:' ) .vieta ( x = 100 , un = 60 )
dzimums = IntVar ( )
dzimums.komplekts ( 1 )
Radio poga ( tkobj, tekstu = 'Vīrietis' , mainīgs =dzimums, vērtību = 1 ) .vieta ( x = 210 , un = 60 )
Radio poga ( tkobj, tekstu = 'sieviete' , mainīgs =dzimums, vērtību = 2 ) .vieta ( x = 290 , un = 60 )

#Izveidot etiķeti un izvēles rūtiņas pogu
Etiķete ( tkobj, tekstu = 'Mīļākā spēle:' ) .vieta ( x = 100 , un = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
Pārbaudes poga ( tkobj, tekstu = 'Krikets' , mainīgs =g1 ) .vieta ( x = 210 , un = 100 )
Pārbaudes poga ( tkobj, tekstu = 'Futbols' , mainīgs =g2 ) .vieta ( x = 290 , un = 100 )
Pārbaudes poga ( tkobj, tekstu = 'Basketbols' , mainīgs =g3 ) .vieta ( x = 380 , un = 100 )

#Definējiet korešu vērtības
dati = ( 'Bangladeša' , 'Japāna' , 'ASV' )
#Izveidojiet etiķeti un kombinēto lodziņu
Etiķete ( tkobj, tekstu = 'Valsts:' ) .vieta ( x = 100 , un = 140 )
countryVal = StringVar ( )
Kombinētais lodziņš ( tkobj, vērtības =dati, teksta mainīgais =valstsVal ) .vieta ( x = 220 , un = 140 )

#Izveidojiet etiķeti un teksta lauku
Etiķete ( tkobj, tekstu = 'Adrese : ' ) .vieta ( x = 100 , un = 180 )
adr = ( tk.Teksts ( tkobj, augstums = 3 , platums = divdesmit ) )
adr.vieta ( x = 220 , un = 180 )

#Izveidojiet pogu, izmantojot pogu apstrādātāju
Poga ( tkobj, tekstu = 'Iesniegt' , komandu =rādīt_vērtības ) .vieta ( x = 250 , un = 250 )

#Palaidiet Tkinter
tkobj.mainloop ( )

Izvade:

Pēc skripta izpildes tiek parādīts šāds logs:

Aizpildiet veidlapas laukus un nospiediet pogu “Iesniegt”.

Tiks parādīts šāds ziņojumu lodziņš ar iesniegtajām vērtībām:

Secinājums

Metodes Python tkinter moduļa izmantošanai GUI lietojumprogrammu izveidei ir parādītas šajā apmācībā, izmantojot vairākus piemērus.