Programmering nivå 2
Kap 5.4 – Skapa GUI med tkinter
Bygg ett enkelt fönster med textfält, knapp och funktioner som reagerar på klick.
Mål med lektionen
När du har arbetat klart med denna lektion ska du:
- Förstå vad ett grafiskt användargränssnitt, GUI, är och varför det används.
- Känna till grunderna i biblioteket
tkinter. - Kunna skapa ett enkelt GUI med etiketter, textfält, knappar och funktioner.
- Kunna koppla GUI-element till funktioner i din kod.
Så här lär du dig bäst
Du lär dig bäst genom att först bygga ett enkelt fönster med ett fåtal komponenter: en etikett, ett
textfält och en knapp. När du ser hur gränssnittet reagerar på dina klick och inmatningar kan du
börja koppla det till funktioner, till exempel att spara något, visa resultat eller hämta data från
en fil. Tänk på att tkinter arbetar med en händelsestyrd modell: programmet väntar på
att användaren ska göra något.
Centrala begrepp
- GUI - Graphical User Interface, ett användarvänligt gränssnitt med knappar, textfält och fönster.
- tkinter - Ett inbyggt Pythonbibliotek för att skapa GUI-program.
- Widget - Ett grafiskt element, till exempel knapp, etikett eller textfält.
- Eventhantering - Koden som reagerar när användaren klickar, skriver eller trycker.
Exempel: Enkel GUI-applikation
import tkinter as tk
def visa_meddelande():
namn = namn_entry.get()
resultat_label.config(text=f"Hej, {namn}!")
# Skapa fönster
rot = tk.Tk()
rot.title("Mitt första GUI")
# Skapa etikett och textfält
tk.Label(rot, text="Vad heter du?").pack()
namn_entry = tk.Entry(rot)
namn_entry.pack()
# Skapa knapp
tk.Button(rot, text="Säg hej", command=visa_meddelande).pack()
# Skapa resultatetikett
resultat_label = tk.Label(rot, text="")
resultat_label.pack()
# Starta programmet
rot.mainloop()
Att förstå koden
tk.Tk()skapar ett nytt fönster.Entryanvänds för att läsa in text från användaren.Buttonskapar en knapp som kan kopplas till en funktion.pack()används för att placera ut element i fönstret.command=visa_meddelandekopplar funktionen till knapptryckningen.mainloop()startar GUI-programmet och väntar på användarens händelser.
Så fungerar händelsestyrning
I ett terminalprogram körs koden ofta uppifrån och ned. I ett GUI-program skapas först fönstret och
dess widgets. Sedan väntar programmet på händelser, till exempel att användaren klickar på en knapp.
När knappen trycks körs funktionen som är kopplad till command.
Öva - Gör ett eget GUI-program
- Skapa ett program med ett fönster där användaren kan skriva in data, till exempel ett namn eller ett tal.
- Lägg till en knapp som kör en funktion.
- Visa ett resultat i fönstret med en
Label. - Lägg till fler widgets, till exempel en dropdown, checkruta eller lista.
- Testa att koppla GUI:t till funktioner du skrivit tidigare i kursen.
Sammanfattning
- Du har skapat ett första grafiskt gränssnitt med
tkinter. - Du har använt etiketter, textfält och knappar.
- Du har kopplat knapptryck till funktioner i din kod.
- Du har påbörjat en övergång från terminalbaserade program till användarvänliga GUI-lösningar.