Programmera med Python - nybörjarkursen.

En nybörjarvänlig guide till Tkinter Grid-Manager användning

Alla videor i handledningen Programmera med Python - nybörjarkursen
Denis Panjuta
Av Denis Panjuta Senast uppdaterad Visas med: Python 3.5

Om du letar efter ett sätt att effektivt utforma dina Tkinter-applikationer, är Grid-Manager det perfekta verktyget för dig. Med det kan du arrangera ditt grafiska användargränssnitt (GUI) i ett rutnät, vilket skapar en strukturerad och snygg applikation. I denna guide får du lära dig steg för steg hur du kan använda Grid-geometry-manager för att korrekt ordna dina widgets och förbättra användarupplevelsen.

Python-programmering för nybörjare - 63 Tkinter Grid Geometry Manager

Videon laddas från YouTube först när den spelas upp – då överförs uppgifter (bl.a. IP-adressen) till YouTube/Google. Mer i integritetspolicyn

Viktiga insikter

  • Grid-managern möjliggör en enkel arrangemang av widgets i ett tvådimensionellt rutnät.
  • Varje widget positioneras med rader (rows) och kolumner (columns).
  • Du kan anpassa Grid-managern för att skapa olika layouter, t.ex. genom att förena kolumner eller ordna element över flera rader och kolumner.

Steg-för-steg-guide

Steg 1: Installera din Tkinter-applikation

För att börja med Grid-managern, skapa först ett nytt Python-skript. Kalla det till exempel GridManager.py. Importera Tkinter-biblioteket genom att lägga till följande kod.

En nybörjarvänlig guide för användning av Tkinter Grid-manager
from tkinter import *

Nu initialiserar du ditt huvudsfenster.

root = Tk()

Steg 2: Skapa etiketter och inmatningsfält

Lägg till två etiketter och de tillhörande inmatningsfälten. Den första etiketten ska innehålla texten „Förnamn“, och inmatningsfältet ska placeras bredvid denna etikett.

label1 = Label(root, text="Förnamn")
label1.grid(row=0, column=0)

entry1 = Entry(root) entry1.grid(row=0, column=1)

Den andra etiketten används för „Efternamn“ och inmatningsfältet placeras under den första etiketten.

En nybörjarvänlig guide för att använda Tkinter Grid-Manager
label2 = Label(root, text="Efternamn")
label2.grid(row=1, column=0)

entry2 = Entry(root) entry2.grid(row=1, column=1)

Steg 3: Lägg till en checkbutton

För att förfina layouten ytterligare, lägger vi till en checkbutton. Denna ska placeras i nästa rad. Här kan sticky-attributet användas för att justera knappen till vänster.

En nybörjarvänlig guide till användning av Tkinter Grid-manager
checkbutton = Checkbutton(root, text="Jag accepterar villkoren.")
checkbutton.grid(row=2, column=0, columnspan=2, sticky=W)

Steg 4: Lägg till en bild

Nu är det dags att lägga till en bild. Bilden kommer att placeras i den första raden i den tredje kolumnen och ska sträcka sig över två kolumner och två rader. För detta används parametrarna rowspan och columnspan.

En nybörjarvänlig guide till Tkinter Grid-manager användning
image = PhotoImage(file="bild.png")
image_label = Label(root, image=image)
image_label.grid(row=0, column=2, rowspan=2, columnspan=2, sticky='nsew', padx=3, pady=3)

Steg 5: Lägg till knappar

Låt oss nu lägga till två knappar till användargränssnittet. Den första knappen kommer att placeras i den tredje raden i den tredje kolumnen.

Ett nybörjarvänligt guide för användning av Tkinter Grid-manager
button1 = Button(root, text="Knapp 1")
button1.grid(row=2, column=2)

Den andra knappen placeras i samma rad, men i den fjärde kolumnen.

En nybörjarvänlig guide till Tkinter Grid-manager användning
button2 = Button(root, text="Knapp 2")
button2.grid(row=2, column=3)

Steg 6: Justera layouten

För att öka avståndet mellan knapparna kan du använda attributen padx och pady. Här läggs ett extra avstånd av 2 pixlar till för att visuellt separera knapparna.

En nybörjarvänlig guide för användning av Tkinter Grid-managern
button1.grid(padx=2, pady=2)
button2.grid(padx=2, pady=2)

Steg 7: Starta huvudloopen

För att få applikationen att fungera, använder du kommandot mainloop().

root.mainloop()

Sammanfattning

I denna guide har du lärt dig hur du kan använda Grid-managern i Tkinter för att effektivt skapa och ordna widgets. Du har skapat etiketter, inmatningsfält, knappar och checkbuttons och integrerat dem i en strukturerad layout. Att hantera rowspan, columnspan och sticky-attribut ger dig många möjligheter att utforma ditt användargränssnitt enligt dina önskemål.

Vanliga frågor

Hur använder jag Grid-managern i Tkinter?Genom att ordna varje widget med.grid()-metoden till önskad position i raden och kolumnen.

Vad gör metoden rowspan?Med rowspan kan du sträcka en widget över flera rader.

Hur lägger jag till avstånd mellan widgets?Använd parametrarna padx och pady i grid()-metoden för att definiera horisontellt respektive vertikalt avstånd.

Vad är skillnaden mellan columnspan och sticky?Columnspan definierar hur många kolumner en widget tar, medan sticky anger positionen inom cellen.

Denis Panjuta
Tränare Om Denis Panjuta Hej! Jag är Denis Panjuta och har en kandidatexamen i industriell ekonomi från HTWG Konstanz, där jag också upptäckte min passion för programmering. Alla kurser av Denis Panjuta