Python Tkinter eksempler

Python Tkinter Eksempler



Python er et allsidig programmeringsspråk som kan brukes til å implementere ulike typer applikasjoner. Den har mange typer moduler for å lage GUI (Graphical User Interface) baserte applikasjoner. Python tkinter er en av dem. Alle skrivebordsapplikasjoner kan enkelt implementeres ved å bruke tkinter-modulen. Det vil være bedre hvis du har grunnleggende kunnskap om Python-programmering for å lære bruken av Python tkinter-modulen. Ulike bruksområder for Python tkinter-modulen for å lage GUI-applikasjonene er vist i denne opplæringen.

Installer Tkinter-modulen

tkinter-modulen er ikke installert på Python som standard. Så du må kjøre følgende kommando for å installere tkinter-modulen i Python 3+-versjonen:







$ sudo apt installere python3-tk



Ulike Tkinter-widgeter

tkinter-modulen inneholder ulike widgets for ulike formål.







Widgetnavn Hensikt
Merkelapp Den brukes til å vise hjelpemeldingen for brukeren.
Knapp Den brukes til å legge til forskjellige knapper i applikasjonen.
Ramme Det fungerer som en widgetbeholder som inneholder forskjellige typer widgets for å designe et organisert skjema.
Inngang Den brukes til å ta en enkeltlinjes tekst fra brukeren.
Sjekkknapp Den brukes til å legge til avmerkingsboksknappene for å ta flere inndata fra brukeren fra flere alternativer.
Radioknapp Den brukes til å legge til radioknappene for å ta en enkelt inngang fra brukeren fra flere alternativer.
Combobox-knapp Den brukes til å legge til en rullegardinliste for å ta ett enkelt innspill fra brukeren fra flere alternativer.
ListBox Den brukes til å legge til en listeboks for å ta flere inndata fra brukeren fra flere alternativer.
Tekst Den brukes til å ta en tekst med flere linjer fra brukeren.
Beskjed Den brukes til å vise meldingsvinduet for brukeren.
Rullefelt Den brukes til å legge til en rullefelt i vinduet for å rulle vinduet opp og ned.
Meny-knapp Den brukes til å vise menyen til brukeren.
Meny Den brukes til å vise menyelementene til brukeren.
PanedWindow Den fungerer som en widgetbeholder som inneholder de horisontale og vertikale rutene.
Faner Den brukes til å legge til et fanevindu i applikasjonen.

Ulike Tkinter-eksempler

Bruken av noen vanlige tkinter-widgets er vist i de følgende eksemplene.

Eksempel 1: Lag en enkel GUI-applikasjon

Lag en Python-fil med følgende innhold som viser en dialogboks i midten av skjermen med en tittel og den spesielle høyden og bredden:



#Importer nødvendig modul
fra tkinter import *

#Opprett objekt for vinduet
tkobj = Tk ( )

#Angi tittelen på vinduet
tkobj.tittel ( 'Lær tkinter-modulen' )

#Angi høyden og bredden på vinduet
tkobj.geometri ( '300 x 150' )

#Sett visningsposisjonen til vinduet sentralt
tkobj.eval ( 'tk::PlaceWindow . senter' )

#Kjør Tkinter
tkobj.mainloop ( )

Produksjon:

Følgende utdata vises etter utføring av skriptet. En dialogboks med tittelen 'Lær tkinter-modul' vises:

Eksempel 2: Bruk av etikett og knapp

Lag en Python-fil med følgende skript som viser et vindu med en etikett og en dialogboks:

#Importer nødvendig modul
fra tkinter import *

#Opprett et objekt for vinduet
tkobj = Tk ( )

#Angi tittelen på vinduet
tkobj.tittel ( 'Lær tkinter-modulen' )

#Angi høyden og bredden på vinduet
tkobj.geometri ( '400 x 150' )

#Definer etikettobjekt
lbl = Etikett ( tkobj, tekst = 'Det er et enkelt vindu' )
#Legg til etikett i vinduet
lbl.pack ( ipadx = 30 , ipads = tjue )

#Definer knappeobjekt
btn = Knapp ( tkobj, tekst = 'Klikk på meg' )
#Legg til-knapp i vinduet med posisjonen
btn.pack ( ipadx = 30 , ipads = 10 )

#Sett visningsposisjonen til vinduet sentralt
tkobj.eval ( 'tk::PlaceWindow . senter' )

#Kjør Tkinter
tkobj.mainloop ( )

Produksjon:

Et vindu med en etikett og en knapp vises i midten av skjermen etter at skriptet er utført.

Eksempel 3: Angi skriftfarge og bakgrunnsfarge

Lag en Python-fil med følgende skript som viser et vindu med en etikett og en fargerik knapp. Her brukes bakgrunnsattributtet til å angi bakgrunnsfargen til knappen og forgrunnsattributtet brukes til å angi skriftfargen til knappen:

#Importer nødvendig modul
fra tkinter import *

#Opprett et objekt for vinduet
tkobj = Tk ( )

#Angi tittelen på vinduet
tkobj.tittel ( 'Lær tkinter-modulen' )

#Angi høyden og bredden på vinduet
tkobj.geometri ( '400 x 150' )

#Definer etikettobjekt
lbl = Etikett ( tkobj, tekst = 'Angi bakgrunns- og forgrunnsfarge' )
#Legg til etikett i vinduet
lbl.pack ( ipadx = 30 , ipads = tjue )

#Definer knappeobjekt med bakgrunn og forgrunnsfarge
btn = Knapp ( tkobj, tekst = 'Klikk på meg' , bakgrunn = 'blå' , forgrunnen = 'rød' )
#Legg til-knapp i vinduet med posisjonen
btn.pack ( ipadx = 30 , ipads = 8 )

#Sett visningsposisjonen til vinduet sentralt
tkobj.eval ( 'tk::PlaceWindow . senter' )

#Kjør Tkinter
tkobj.mainloop ( )

Produksjon:

Følgende vindu vises etter utføring av skriptet:

Eksempel 4: Bruk av ramme

I det følgende Python-skriptet vises en etikett og to knapper i en rammewidget. Lag en Python-fil med skriptet for å sjekke utdataene:

#Importer nødvendig modul
fra tkinter import *

#Opprett et objekt for vinduet
tkobj = Tk ( )

#Angi tittelen på vinduet
tkobj.tittel ( 'tkinter modul' )

#Angi høyden og bredden på vinduet
tkobj.geometri ( '250 x 100' )

#Definer rammeobjekter
frm = Ramme ( tkobj )
frm.pack ( )
lframe = Ramme ( tkobj )
lframe.pack ( side =VENSTRE )
rframe = Ramme ( tkobj )
rframe.pack ( side =HØYRE )

#Definer etikett inne i rammen
lbl = Etikett ( frm, tekst = 'Bruk av ramme' , fg = 'blå' )
lbl.pack ( )

#Definer knapper inne i rammen
btn1 = Knapp ( lframe, tekst = '' , fg = 'svart' , bg = 'hvit' )
btn2.pack ( side =HØYRE )

#Sett visningsposisjonen til vinduet sentralt
tkobj.eval ( 'tk::PlaceWindow . senter' )

#Kjør Tkinter
tkobj.mainloop ( )

Produksjon:

Følgende utdata vises etter utføring av skriptet:

Eksempel 5: Håndter knapphendelsen

Bruken av meldingsboksen vises i følgende skript. Meldingsboksen vises når en knapp klikkes:

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

#Opprett et objekt for vinduet
tkobj = Tk ( )

#Angi tittelen på vinduet
tkobj.tittel ( 'Lær tkinter-modulen' )

#Angi høyden og bredden på vinduet
tkobj.geometri ( '400 x 150' )

#Definer en funksjon for å vise en meldingsboks
def display ( ) :
meldingsboks.visinfo ( 'Informasjon' , 'Knappen er klikket.' )

#Lag etiketttekst med skriftfarge, stil og plassering
Merkelapp ( tkobj, tekst = 'Skrivebordsapplikasjon som bruker tkinter.' , fg = 'grønn' ) .pakke ( Paddy = 25 )

#Opprett en knapp med en knappbehandler
Knapp ( tkobj, tekst = 'Vis melding' , kommando =display ) .pakke ( )

#Sett visningsposisjonen til vinduet sentralt
tkobj.eval ( 'tk::PlaceWindow . senter' )

#Kjør Tkinter
tkobj.mainloop ( )

Produksjon:

Følgende vindu vises etter utføring av skriptet:

Følgende meldingsboks vises etter å ha trykket på knappen:

Eksempel 6: Ta et input fra brukeren

Flere widgets er tilgjengelige i tkinter-modulen for å ta innspill fra brukeren. Bruken av de vanligste widgetene vises i følgende skript. Lag en Python-fil med følgende kode for å sjekke utdataene:

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

#Opprett tkinter-objekt
tkobj = Tk ( )

#Angi tittelen på vinduet
tkobj.tittel ( 'Brukerinformasjonsskjema' )

#Angi høyden og bredden på vinduet
tkobj.geometri ( '550 x 320' )

#Definer en funksjon for å vise skjemaverdiene
def display_values ( ) :
#Les tekst på én linje
navn = 'Navn : ' + name_val.get ( ) + ' \n '
#Les den valgte alternativknappverdien
hvis kjønn.få ( ) == 1 :
g = 'Mann'
ellers:
g = 'Hunn'
g = 'Kjønn:' + g + ' \n '

#Les de valgte avkrysningsboksverdiene
spill = ''
hvis g1.få ( ) == 1 :
spill = 'Siriss'
hvis g2.få ( ) == 1 :
hvis spill ! = '' :
spill += ', ' + 'Fotball'
ellers:
spill = 'Fotball'
hvis g3.få ( ) == 1 :
hvis spill ! = '' :
spill += ', ' + 'Basketball'
ellers:
spill = 'Basketball'
spill = 'Spill:' + spill + ' \n '

#Les kombinasjonsboksverdiene
land = 'Land : ' + countryVal.get ( ) + ' \n '
#Les teksten med flere linjer
adresse = 'Adresse:' + adr.get ( '1.0' , 'slutt' ) + ' \n '
#Slå sammen alle verdier tatt av feltene
form_values ​​= navn + g + spill + land + adresse
#Vis verdiene i meldingsboksen
meldingsboks.visinfo ( 'Brukerinformasjonsdetaljer' , form_values )


#Opprett en etikett og navnefeltet
Merkelapp ( tkobj, tekst = 'Navn : ' ) .plass ( x = 100 , og = tjue )
name_val = StringVar ( )
ttk.Entry ( tkobj, tekstvariabel =navn_val ) .pakke ( Padx = 220 , Paddy = tjue )

#Opprett en etikett og alternativknappen
Merkelapp ( tkobj, tekst = 'Kjønn:' ) .plass ( x = 100 , og = 60 )
kjønn = IntVar ( )
kjønn.sett ( 1 )
Radioknapp ( tkobj, tekst = 'Mann' , variabel =kjønn, verdi = 1 ) .plass ( x = 210 , og = 60 )
Radioknapp ( tkobj, tekst = 'Hunn' , variabel =kjønn, verdi = 2 ) .plass ( x = 290 , og = 60 )

#Opprett en etikett og avkrysningsboksknapp
Merkelapp ( tkobj, tekst = 'Favorittspill:' ) .plass ( x = 100 , og = 100 )
g1 = IntVar ( )
g2 = IntVar ( )
g3 = IntVar ( )
Sjekkknapp ( tkobj, tekst = 'Siriss' , variabel =g1 ) .plass ( x = 210 , og = 100 )
Sjekkknapp ( tkobj, tekst = 'Fotball' , variabel =g2 ) .plass ( x = 290 , og = 100 )
Sjekkknapp ( tkobj, tekst = 'Basketball' , variabel =g3 ) .plass ( x = 380 , og = 100 )

#Definer tuppelverdier
data = ( 'Bangladesh' , 'Japan' , 'USA' )
#Opprett etikett og kombinasjonsboks
Merkelapp ( tkobj, tekst = 'Land : ' ) .plass ( x = 100 , og = 140 )
countryVal = StringVar ( )
Combobox ( tkobj, verdier =data, tekstvariabel =countryVal ) .plass ( x = 220 , og = 140 )

#Opprett etikett og tekstfelt
Merkelapp ( tkobj, tekst = 'Adresse:' ) .plass ( x = 100 , og = 180 )
adr = ( tk.Tekst ( tkobj, høyde = 3 , bredde = tjue ) )
adr.sted ( x = 220 , og = 180 )

#Opprett en knapp med en knappbehandler
Knapp ( tkobj, tekst = 'Sende inn' , kommando =visningsverdier ) .plass ( x = 250 , og = 250 )

#Kjør Tkinter
tkobj.mainloop ( )

Produksjon:

Følgende vindu vises etter utføring av skriptet:

Fyll ut feltene i skjemaet og trykk på 'Send'-knappen.

Følgende meldingsboks med de innsendte verdiene vises:

Konklusjon

Metodene for å bruke Python tkinter-modulen for å lage GUI-applikasjonene er vist i denne opplæringen ved hjelp av flere eksempler.