Python Tkinter eksempler

Python Tkinter Eksempler



Python er et alsidigt programmeringssprog, der kan bruges til at implementere forskellige typer applikationer. Det har mange typer moduler til at skabe de GUI (Graphical User Interface) baserede applikationer. Python tkinter er en af ​​dem. Enhver desktopapplikation kan nemt implementeres ved hjælp af tkinter-modulet. Det vil være bedre, hvis du har en grundlæggende viden om Python-programmering for at lære brugen af ​​Python tkinter-modulet. Forskellige anvendelser af Python tkinter-modulet til at skabe GUI-applikationerne er vist i denne tutorial.

Installer Tkinter-modulet

tkinter-modulet er ikke installeret på Python som standard. Så du skal køre følgende kommando for at installere tkinter-modulet i Python 3+ versionen:







$ sudo passende installere python3-tk



Forskellige Tkinter-widgets

tkinter-modulet indeholder forskellige widgets til forskellige formål.







Widget navn Formål
Etiket Den bruges til at vise den hjælpende besked til brugeren.
Knap Det bruges til at tilføje forskellige knapper i applikationen.
Ramme Det fungerer som en widgetbeholder, der indeholder forskellige typer widgets til at designe en organiseret formular.
Indgang Det bruges til at tage en enkelt-linjes tekst fra brugeren.
Afkrydsningsknap Det bruges til at tilføje afkrydsningsfeltknapperne for at tage flere input fra brugeren fra flere muligheder.
Radio knap Det bruges til at tilføje radioknapperne for at tage et enkelt input fra brugeren fra flere muligheder.
Combobox knap Det bruges til at tilføje en rulleliste for at tage et enkelt input fra brugeren fra flere muligheder.
ListBoks Det bruges til at tilføje en listeboks for at tage flere input fra brugeren fra flere muligheder.
Tekst Det bruges til at tage en tekst med flere linjer fra brugeren.
Besked Det bruges til at vise meddelelsesvinduet for brugeren.
Rullebar Det bruges til at tilføje en rullepanel i vinduet for at rulle vinduet op og ned.
Menu-knap Den bruges til at vise menuen for brugeren.
Menu Det bruges til at vise menupunkterne for brugeren.
PanedWindow Det fungerer som en widgetbeholder, der indeholder de vandrette og lodrette ruder.
Faner Det bruges til at tilføje et fanevindue i applikationen.

Forskellige Tkinter-eksempler

Brugen af ​​nogle almindelige tkinter-widgets er vist i de følgende eksempler.

Eksempel 1: Opret en simpel GUI-applikation

Opret en Python-fil med følgende indhold, der viser en dialogboks i midten af ​​skærmen med en titel og den særlige højde og bredde:



#Importér nødvendigt modul
fra tkinter import *

#Opret objekt til vinduet
tkobj = Tk ( )

#Indstil titlen på vinduet
tkobj.title ( 'Lær tkinter modul' )

#Indstil vinduets højde og bredde
tkobj.geometri ( '300x150' )

#Indstil visningspositionen for vinduet centralt
tkobj.eval ( 'tk::PlaceWindow . centrum' )

#Kør Tkinter
tkobj.mainloop ( )

Produktion:

Følgende output vises efter eksekvering af scriptet. En dialogboks med titlen 'Lær tkinter-modul' vises:

Eksempel 2: Brug af etiket og knap

Opret en Python-fil med følgende script, der viser et vindue med en etiket og en dialogboks:

#Importér nødvendigt modul
fra tkinter import *

#Opret et objekt til vinduet
tkobj = Tk ( )

#Indstil titlen på vinduet
tkobj.title ( 'Lær tkinter modul' )

#Indstil vinduets højde og bredde
tkobj.geometri ( '400x150' )

#Definer etiketobjekt
lbl = Etiket ( tkobj, tekst = 'Det er et simpelt vindue' )
#Tilføj etiket til vinduet
lbl.pack ( ipadx = 30 , ipads = tyve )

#Definer knapobjekt
btn = Knap ( tkobj, tekst = 'Klik mig' )
#Tilføj knap til vinduet med positionen
btn.pack ( ipadx = 30 , ipads = 10 )

#Indstil visningspositionen for vinduet centralt
tkobj.eval ( 'tk::PlaceWindow . centrum' )

#Kør Tkinter
tkobj.mainloop ( )

Produktion:

Et vindue med en etiket og en knap vises i midten af ​​skærmen efter udførelse af scriptet.

Eksempel 3: Indstil skriftfarve og baggrundsfarve

Opret en Python-fil med følgende script, der viser et vindue med en etiket og en farverig knap. Her bruges baggrundsattributten til at indstille knappens baggrundsfarve, og forgrundsattributten bruges til at indstille knappens skrifttypefarve:

#Importér nødvendigt modul
fra tkinter import *

#Opret et objekt til vinduet
tkobj = Tk ( )

#Indstil titlen på vinduet
tkobj.title ( 'Lær tkinter modul' )

#Indstil vinduets højde og bredde
tkobj.geometri ( '400x150' )

#Definer etiketobjekt
lbl = Etiket ( tkobj, tekst = 'Indstil baggrund og forgrundsfarve' )
#Tilføj etiket til vinduet
lbl.pack ( ipadx = 30 , ipads = tyve )

#Definer knapobjekt med baggrund og forgrundsfarve
btn = Knap ( tkobj, tekst = 'Klik mig' , baggrund = 'blå' , forgrunden = 'rød' )
#Tilføj knap til vinduet med positionen
btn.pack ( ipadx = 30 , ipads = 8 )

#Indstil visningspositionen for vinduet centralt
tkobj.eval ( 'tk::PlaceWindow . centrum' )

#Kør Tkinter
tkobj.mainloop ( )

Produktion:

Følgende vindue vises efter udførelse af scriptet:

Eksempel 4: Brug af ramme

I det følgende Python-script vises en etiket og to knapper i en ramme-widget. Opret en Python-fil med scriptet for at kontrollere outputtet:

#Importér nødvendigt modul
fra tkinter import *

#Opret et objekt til vinduet
tkobj = Tk ( )

#Indstil titlen på vinduet
tkobj.title ( 'tkinter modul' )

#Indstil vinduets højde og bredde
tkobj.geometri ( '250x100' )

#Definer rammeobjekter
frm = Ramme ( tkobj )
frm.pack ( )
lframe = Ramme ( tkobj )
lframe.pack ( side =VENSTRE )
rframe = Ramme ( tkobj )
rframe.pack ( side =RET )

#Definer etiket inde i rammen
lbl = Etiket ( frm, tekst = 'Brug af ramme' , fg = 'blå' )
lbl.pack ( )

#Definer knapper inde i rammen
btn1 = Knap ( lramme, tekst = '' , fg = 'sort' , bg = 'hvid' )
btn2.pack ( side =RET )

#Indstil visningspositionen for vinduet centralt
tkobj.eval ( 'tk::PlaceWindow . centrum' )

#Kør Tkinter
tkobj.mainloop ( )

Produktion:

Følgende output vises efter eksekvering af scriptet:

Eksempel 5: Håndter knaphændelsen

Brugen af ​​beskedboksen vises i følgende script. Meddelelsesboksen vises, når der klikkes på en knap:

#Importer nødvendige moduler
fra tkinter import *
fra tkinter import beskedboks

#Opret et objekt til vinduet
tkobj = Tk ( )

#Indstil titlen på vinduet
tkobj.title ( 'Lær tkinter modul' )

#Indstil vinduets højde og bredde
tkobj.geometri ( '400x150' )

#Definer en funktion for at vise en beskedboks
def display ( ) :
messagebox.showinfo ( 'Information' , 'Knappen er klikket.' )

#Opret etikettekst med skrifttypefarve, stil og placering
Etiket ( tkobj, tekst = 'Desktop-applikation, der bruger tkinter.' , fg = 'grøn' ) .pakke ( Uafskallet = 25 )

#Opret en knap med en knaphåndtering
Knap ( tkobj, tekst = 'Vis besked' , kommando =display ) .pakke ( )

#Indstil visningspositionen for vinduet centralt
tkobj.eval ( 'tk::PlaceWindow . centrum' )

#Kør Tkinter
tkobj.mainloop ( )

Produktion:

Følgende vindue vises efter udførelse af scriptet:

Følgende beskedboks vises efter tryk på knappen:

Eksempel 6: Tag et input fra brugeren

Flere widgets er tilgængelige i tkinter-modulet for at modtage input fra brugeren. Brugen af ​​de mest almindelige widgets er vist i følgende script. Opret en Python-fil med følgende kode for at kontrollere outputtet:

#Importer nødvendige moduler
fra tkinter import *
fra tkinter.ttk import Combobox
fra tkinter import ttk
import tkinter som tk
fra tkinter import beskedboks

#Opret tkinter-objekt
tkobj = Tk ( )

#Indstil titlen på vinduet
tkobj.title ( 'Brugerinformationsformular' )

#Indstil vinduets højde og bredde
tkobj.geometri ( '550x320' )

#Definer en funktion til at vise formularværdierne
def display_values ( ) :
#Læs tekst på én linje
navn = 'Navn:' + navn_val.get ( ) + ' \n '
#Læs den valgte alternativknapværdi
hvis køn.få ( ) == 1 :
g = 'Han'
andet:
g = 'Kvinde'
g = 'Køn : ' + g + ' \n '

#Læs de valgte afkrydsningsfeltværdier
spil = ''
hvis g1.få ( ) == 1 :
spil = 'Cricket'
hvis g2.få ( ) == 1 :
hvis spil ! = '' :
spil += ', ' + 'Fodbold'
andet:
spil = 'Fodbold'
hvis g3.få ( ) == 1 :
hvis spil ! = '' :
spil += ', ' + 'Basketball'
andet:
spil = 'Basketball'
spil = 'Spil:' + spil + ' \n '

#Læs combobox-værdierne
land = 'Land : ' + countryVal.get ( ) + ' \n '
#Læs teksten med flere linjer
adresse = 'Adresse:' + adr.get ( '1.0' , 'ende' ) + ' \n '
#Flet alle værdier taget af felterne
form_values ​​= navn + g + spil + land + adresse
#Vis værdierne i meddelelsesboksen
messagebox.showinfo ( 'Brugeroplysninger detaljer' , form_værdier )


#Opret en etiket og navnefeltet
Etiket ( tkobj, tekst = 'Navn:' ) .placere ( x = 100 , og = tyve )
name_val = StringVar ( )
ttk.Entry ( tkobj, tekstvariabel =navn_værdi ) .pakke ( Padx = 220 , Uafskallet = tyve )

#Opret en etiket og alternativknappen
Etiket ( tkobj, tekst = 'Køn : ' ) .placere ( x = 100 , og = 60 )
køn = IntVar ( )
køn.sæt ( 1 )
Radio knap ( tkobj, tekst = 'Han' , variabel =køn, værdi = 1 ) .placere ( x = 210 , og = 60 )
Radio knap ( tkobj, tekst = 'Kvinde' , variabel =køn, værdi = 2 ) .placere ( x = 290 , og = 60 )

#Opret en etiket og afkrydsningsfeltknap
Etiket ( tkobj, tekst = 'Favorit spil:' ) .placere ( x = 100 , og = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
Afkrydsningsknap ( tkobj, tekst = 'Cricket' , variabel =g1 ) .placere ( x = 210 , og = 100 )
Afkrydsningsknap ( tkobj, tekst = 'Fodbold' , variabel =g2 ) .placere ( x = 290 , og = 100 )
Afkrydsningsknap ( tkobj, tekst = 'Basketball' , variabel =g3 ) .placere ( x = 380 , og = 100 )

#Definer tupelværdier
data = ( 'Bangladesh' , 'Japan' , 'USA' )
#Opret etiket og kombinationsboks
Etiket ( tkobj, tekst = 'Land : ' ) .placere ( x = 100 , og = 140 )
countryVal = StringVar ( )
Kombinationsfelt ( tkobj, værdier =data, tekstvariabel =landVal ) .placere ( x = 220 , og = 140 )

#Opret etiket og tekstfelt
Etiket ( tkobj, tekst = 'Adresse:' ) .placere ( x = 100 , og = 180 )
adr = ( tk.Tekst ( tkobj, højde = 3 , bredde = tyve ) )
adr.sted ( x = 220 , og = 180 )

#Opret en knap med en knaphåndtering
Knap ( tkobj, tekst = 'Indsend' , kommando =visningsværdier ) .placere ( x = 250 , og = 250 )

#Kør Tkinter
tkobj.mainloop ( )

Produktion:

Følgende vindue vises efter udførelse af scriptet:

Udfyld felterne i formularen og tryk på knappen 'Send'.

Følgende beskedboks med de indsendte værdier vises:

Konklusion

Metoderne til at bruge Python tkinter-modulet til at skabe GUI-applikationerne er vist i denne tutorial ved hjælp af flere eksempler.