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:

  1. Try, Except og Finally for å håndtere feil i Python.

  2. Definere egne unntak for spesialtilfeller i programmer.

  3. Logging av feil for å spore problemer og feil i større applikasjoner.


Dagens Agenda

  1. Hva er GUI-programmering, og hvorfor er det viktig?

  2. Introduksjon til Tkinter, Pythons standardbibliotek for GUI.

  3. Lage vårt første enkle vindu med Tkinter.

  4. Legge til interaktive elementer som knapper og tekstfelt.

  5. Håndtere hendelser og inndata fra brukeren.

  6. 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

Opprett et hovedvindu

vindu = tk.Tk()

Sett vindustittelen

vindu.title("Mitt Første GUI")

Kjør Tkinter-hovedløkken

vindu.mainloop()

La oss bryte dette ned:

  1. tk.Tk(): Oppretter hovedvinduet i applikasjonen.

  2. vindu.title(): Setter tittelen på vinduet.

  3. 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

Opprett hovedvindu

vindu = tk.Tk() vindu.title("Interaktivt GUI")

Tekstfelt

tekstfelt = tk.Entry(vindu, width=20) tekstfelt.pack()

Knapp

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:

  1. Entry(): Dette er et tekstfelt hvor brukeren kan skrive inn tekst.

  2. 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

Funksjoner for kalkulasjon

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")

Hovedvindu

vindu = tk.Tk() vindu.title("Enkel Kalkulator")

Tekstfelt for tall 1 og tall 2

tall1 = tk.Entry(vindu, width=10) tall2 = tk.Entry(vindu, width=10) tall1.pack() tall2.pack()

Resultatfelt

resultat = tk.StringVar() resultat_label = tk.Label(vindu, textvariable=resultat) resultat_label.pack()

Knappene for operasjonene

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:

  1. Hva GUI-programmering er og hvorfor det er viktig.

  2. Hvordan lage et grunnleggende GUI-vindu med Tkinter.

  3. Hvordan legge til interaktive elementer som knapper og tekstfelt.

  4. Hvordan håndtere hendelser som museklikk.

  5. 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!

⚠️ **GitHub.com Fallback** ⚠️