Python: GUI-programmering - du måste veta det
Python-program ser mycket bättre ut när de körs med ett GUI (grafiskt användargränssnitt). Annars används terminalen ofta för detta. Här visar vi hur du kan programmera ditt eget GUI med hjälp av TkInter-modulen i Python.
GUI-programmering med Python: fönster med TkInter
Innan du verkligen kan komma igång med ditt GUI måste du först importera TkInter-modulen och skapa ett fönster.
- För att importera modulen, lägg till kommandot "från tkinter import *" och kommandot "från tkinter importera ttk" (utan citattecken) i början av din kod.
- Nu kan du skapa ett nytt fönster med kommandot "root = Tk ()". Du kan använda ett annat ord istället för ordet "root". Det är dock tillrådligt att använda samma variabel för varje program så att du lättare kan hitta dig runt programmeringen.
- Du kan ange namnet på ditt fönster med kommandot "root.title (" Test ")" (utan citattecken i början och slutet). I detta fall kallas fönstret "Test".
- I slutet av programmet behöver du bara infoga kommandot "root.mainloop ()" så att programmet är klart.
TkInter med Python: programmera menyfältet
En menyfält finns i nästan alla program i dag. Du kan också enkelt programmera dessa med TkInter-modulen.
- Det är viktigt att du redan har genomfört alla ovanstående steg. Koden för menyfältet måste infogas mellan "root.title (" Test ")" och "root.mainloop ()".
- Du måste börja programmera menyfältet med kommandot "menubar = Meny (root)" (utan citattecken).
- Du kan skapa ett första menyalternativ med kommandot "filemenu = Meny (menyraden, tearoff = 0)". I stället för variabeln "filemenu" kan du också välja din egen variabel.
- Lägg till ett första underemem med kommandot "filemenu.add_command (label =" Spara ", kommando = spara)". I detta fall kallas underobjektet "Spara". Om du trycker på detta kommer kommandot "spara ()" att köras. Det är viktigt att du har definierat kommandona i koden före kommandot "root = Tk ()".
- Nu kan du lägga till så många underobjekt du vill. Tips: Du kan också använda kommandot "filemenu.add_separator ()" för att lägga till en delningslinje mellan enskilda underobjekt.
- När du är klar med ett menyalternativ, glöm inte att lägga till kommandot "menubar.add_cascade (label =" fil ", meny = filemenu)". Detta kommando ger menyposten namnet "File".
- Om du vill lägga till ytterligare menyalternativ måste du bara ändra menyalternativets variabel så att inga fel uppstår. I stället för "filemenu" kan du använda "editmenu" varje gång.
- Glöm inte att lägga till kommandot "root.config (menu = menubar)" innan kommandot "root.mainloop ()" i slutet av din kod så att menyfältet också visas.
GUI med Python: lägg till etiketter och poster
Nu kan du börja lägga till texter och textfält till ditt Python-program.
- Du kan lägga till en första etikett med kommandot "a = Etikett (text =" Namn: ", bg =" vit ", fg =" svart ")" (utan citattecken). Denna etikett representeras av variabeln "a" och har texten "Namn:". Textfärgen på texten är svart och bakgrunden är vit.
- För att etiketten ska visas måste du skriva kommandot "a.grid ()" under den. Du kommer att ta reda på vad du behöver rutnätet () för i nästa stycke.
- Du kan skapa ett textfält med kommandot "b = Entry ()". I detta fall representeras textfältet av variabeln "b".
- Återigen bör du infoga rutnätkommandot igen: "b.grid ()"
Programmering TkInter: Grid and Pack - Geometry Manager
Du måste ha undrat vad du behöver rutnätet för:
- Detta kommando är en geometrihanterare. Om parenteserna är tomma, gör det ingenting.
- Du kan dock ändra ditt kommando så här: "b.grid (rad = 1, kolumn = 1, klibbig = W)". Textfältet skulle nu ligga i rad 1 och i kolumn 1 och vara inriktat mot väst (skärmens vänstra kant).
- Du kan använda rutnätkommandot för att ange placering och orientering för enskilda objekt. Observera dock att med denna kommandorad 0 är den första raden och kolumn 0 är den första kolumnen.
- Förutom nätgeometrihanteraren finns det även paketgeometrihanteraren. Ett exempel skulle vara kommandot "b.pack (side = 'top', fill =" x ", padx =" 5 ", pady =" 10 ")". Med attributet "sida" kan du bestämma positionen i GUI. Med "fyll" -attributet kan du justera höjden och bredden på en GUI-komponent till den givna ramen. Med "padx" och "pady" kan du definiera utrymmet runt en GUI-komponent.
- Observera dock att du kan använda antingen rutnätet eller paketgeometrihanteraren i ett Python-program. Men aldrig båda samtidigt.
GUI-programmering: lägg till knappar
Mycket ofta kan knappar också hittas i program. Det finns tre viktiga standardknappar i Python:
- Till exempel kan du lägga till den normala knappen med kommandot "button1 = Button (text =" Test ", bg =" red ", fg =" black ", command = test1)" (utan citattecken). Om man trycker på denna knapp utförs funktionen "test1 ()".
- Förutom de vanliga knapparna finns det också så kallade kontrollknappar. Ett exempel på detta skulle vara "checkbutton1 = Checkbutton (root, text =" Test ", onvalue = 1, offvalue = 0, variabel = var1)". Det är viktigt att du sätter in kommandot "var1 = IntVar ()" i förväg. Detta är det enda sättet programmet vet att variabeln "var1" är en heltalvariabel. Om kryssrutan är aktiverad tar "var1" värdet "1" (onvalue). Om kryssrutan inte är aktiverad antas värdet 0 (avvärde). Tips: Du kan ta reda på detta värde med kommandot "var1.get ()".
- Äntligen finns det radioknappen. Du kan lägga till detta med kommandot "radiobutton1 = Radiobutton (root, text =" Test ", value = 1)". Alla radioknappar som har samma värde under "värde" aktiveras så snart en av dessa knappar är aktiverad. Därför bör du ange ett annat värde varje gång så att bara en knapp aktiveras.
- Glöm förresten inte att hantera dina knappar med rutnätet eller paketgeometrihanteraren.
Python: Hide Terminal
Terminalen visas normalt för varje Python-program - oavsett om det är med eller utan GUI. Detta är dock mycket irriterande, särskilt för program med ett GUI. Du kan dock också dölja det. Vi visar nu hur du gör detta i Windows 10:
- Starta Explorer och klicka på fliken "Visa".
- Se nu till att kryssrutan "Filnamnstillägg" är aktiverad.
- Byt namn på din Python-fil så att filändelsen inte längre är .py utan .pyw.
Fler tips om Python i våra CHIP-guider
Tips: Du kan hitta ytterligare programmeringshandledning på vår sida för Python-programmeringsspråk. Där visar vi dig till exempel hur du kan använda intervall- och xrange-funktionerna.