PythonPodcast 13 - itnett/FTD02H-N GitHub Wiki
Episode 13 – Introduksjon til GUI-programmering med Tkinter
Velkommen til Episode 13!
I dag skal vi utforske GUI-programmering (Graphical User Interface) ved å bruke Tkinter-biblioteket i Python. Dette er en spennende måte å skape visuelle applikasjoner som brukeren kan interagere med ved hjelp av knapper, inndatafelt og andre grafiske elementer.
Oppsummering fra forrige episode
I forrige episode, Episode 12, lærte vi om unntakshåndtering, inkludert:
-
Try, Except og Finally for å håndtere feil i Python.
-
Definere egne unntak for spesialtilfeller i programmer.
-
Logging av feil for å spore problemer og feil i større applikasjoner.
Dagens Agenda
-
Hva er GUI-programmering, og hvorfor er det viktig?
-
Introduksjon til Tkinter, Pythons standardbibliotek for GUI.
-
Lage vårt første enkle vindu med Tkinter.
-
Legge til interaktive elementer som knapper og tekstfelt.
-
Håndtere hendelser og inndata fra brukeren.
-
Praktisk oppgave: Lage en enkel kalkulator med GUI.
Hva er GUI-programmering?
En GUI-applikasjon er et program med et grafisk brukergrensesnitt som tillater brukeren å interagere med programmet gjennom visuelle elementer som knapper, menyer, vinduer og tekstbokser, i stedet for bare tekstbasert terminal. GUI gjør applikasjonen mer intuitiv og brukervennlig, og mange desktop- og mobilapplikasjoner er GUI-basert.
Introduksjon til Tkinter
Tkinter er Pythons standardbibliotek for å lage GUI-applikasjoner. Det er kraftig nok til å lage enkle applikasjoner og lett å lære for nybegynnere. I denne episoden skal vi lage vår første Tkinter-applikasjon som inneholder et vindu, knapper og tekstfelt.
For å bruke Tkinter, må du importere biblioteket:
import tkinter as tk
Dette gir oss tilgang til alle funksjonene og klassene i Tkinter.
Lage et enkelt vindu med Tkinter
La oss starte med å lage et enkelt vindu:
import tkinter as tk
vindu = tk.Tk()
vindu.title("Mitt Første GUI")
vindu.mainloop()
La oss bryte dette ned:
-
tk.Tk(): Oppretter hovedvinduet i applikasjonen.
-
vindu.title(): Setter tittelen på vinduet.
-
vindu.mainloop(): Starter hovedløkken som lytter etter hendelser (som museklikk eller tastetrykk).
Når du kjører dette programmet, vil et enkelt vindu vises med tittelen "Mitt Første GUI".
Legge til knapper og tekstfelt
Nå som vi har opprettet et vindu, la oss legge til noen elementer som knapper og tekstfelt.
import tkinter as tk
vindu = tk.Tk() vindu.title("Interaktivt GUI")
tekstfelt = tk.Entry(vindu, width=20) tekstfelt.pack()
def trykk_knapp(): tekst = tekstfelt.get() print(f"Du skrev: {tekst}")
knapp = tk.Button(vindu, text="Trykk her", command=trykk_knapp) knapp.pack()
vindu.mainloop()
Her har vi lagt til:
-
Entry(): Dette er et tekstfelt hvor brukeren kan skrive inn tekst.
-
Button(): Dette er en knapp som utfører en handling når brukeren klikker på den. I vårt tilfelle, når knappen trykkes, vil funksjonen trykk_knapp bli kjørt, som henter teksten fra tekstfeltet og skriver den ut i terminalen.
Håndtere hendelser
I Tkinter håndterer vi hendelser ved å bruke command-parameteren i widgets som knapper. Vi kan også bruke funksjoner til å håndtere spesifikke hendelser som museklikk eller tastetrykk.
Eksempel med en museklikk-hendelse:
import tkinter as tk
def trykk_venstre(event): print("Venstre museknapp trykket!")
def trykk_hoeyre(event): print("Høyre museknapp trykket!")
vindu = tk.Tk() vindu.bind("", trykk_venstre) # Venstre klikk vindu.bind("", trykk_hoeyre) # Høyre klikk
vindu.mainloop()
Her bruker vi bind() for å koble musens venstre og høyre klikk til hver sin funksjon.
Oppgave: Lag en enkel kalkulator
Nå skal vi lage en enkel kalkulator med Tkinter som kan utføre addisjon, subtraksjon, multiplikasjon og divisjon.
import tkinter as tk
def legg_til(): resultat.set(float(tall1.get()) + float(tall2.get()))
def trekk_fra(): resultat.set(float(tall1.get()) - float(tall2.get()))
def multipliser(): resultat.set(float(tall1.get()) * float(tall2.get()))
def divider(): if float(tall2.get()) != 0: resultat.set(float(tall1.get()) / float(tall2.get())) else: resultat.set("Feil: Divisjon på 0")
vindu = tk.Tk() vindu.title("Enkel Kalkulator")
tall1 = tk.Entry(vindu, width=10) tall2 = tk.Entry(vindu, width=10) tall1.pack() tall2.pack()
resultat = tk.StringVar() resultat_label = tk.Label(vindu, textvariable=resultat) resultat_label.pack()
tk.Button(vindu, text="Legg til", command=legg_til).pack() tk.Button(vindu, text="Trekk fra", command=trekk_fra).pack() tk.Button(vindu, text="Multipliser", command=multipliser).pack() tk.Button(vindu, text="Divider", command=divider).pack()
vindu.mainloop()
I dette programmet:
Brukeren kan skrive inn to tall i tekstfeltene.
Brukeren kan klikke på knapper for å utføre forskjellige aritmetiske operasjoner.
Resultatet vises i et Label-element.
Oppsummering
I denne episoden har vi lært:
-
Hva GUI-programmering er og hvorfor det er viktig.
-
Hvordan lage et grunnleggende GUI-vindu med Tkinter.
-
Hvordan legge til interaktive elementer som knapper og tekstfelt.
-
Hvordan håndtere hendelser som museklikk.
-
Vi laget en enkel kalkulator med Tkinter som praktisk oppgave.
Neste Episode
I neste episode skal vi fortsette å jobbe med GUI-programmering, men vi skal også introdusere flere avanserte widgets og utforske hvordan vi kan jobbe med flere vinduer.
🎧 Abonner på podcasten for å få med deg de siste Python-konseptene! 🎙️
Takk for at du lyttet, og vi ses i neste episode!