Python: GUI-programmering - det skal du vide
Python-programmer ser meget bedre ud, når de køres med en GUI (grafisk brugergrænseflade). Ellers bruges terminalen ofte til dette. Her viser vi, hvordan du kan programmere dit eget GUI ved hjælp af TkInter-modulet i Python.
GUI-programmering med Python: vindue med TkInter
Før du virkelig kan komme i gang med dit GUI, skal du først importere TkInter-modulet og oprette et vindue.
- For at importere modulet skal du tilføje kommandoen "fra tkinter import *" og kommandoen "fra tkinter import ttk" (uden anførselstegn) helt i begyndelsen af din kode.
- Nu kan du oprette et nyt vindue med kommandoen "root = Tk ()". Du kan bruge et andet ord i stedet for ordet "rod". Det tilrådes dog at bruge den samme variabel til hvert program, så du lettere kan finde dig rundt i programmeringen.
- Du kan specificere navnet på dit vindue med kommandoen "root.title (" Test ")" (uden anførselstegn i begyndelsen og slutningen). I dette tilfælde kaldes vinduet "Test".
- I slutningen af dit program skal du kun indsætte kommandoen "root.mainloop ()", så programmet er komplet.
TkInter med Python: programmer menulinjen
En menulinje findes i næsten alle programmer i disse dage. Du kan også nemt programmere disse med TkInter-modulet.
- Det er vigtigt, at du allerede har udført alle ovenstående trin. Koden til menulinjen skal indsættes mellem "root.title (" Test ")" og "root.mainloop ()".
- Du skal starte programmering af menulinjen med kommandoen "menubar = Menu (root)" (uden anførselstegn).
- Du kan oprette et første menupunkt med kommandoen "filemenu = Menu (menulinje, tearoff = 0)". I stedet for variablen "filemenu" kan du også vælge din egen variabel.
- Tilføj et første underemne med kommandoen "filemenu.add_command (label =" Gem ", kommando = gem)". I dette tilfælde kaldes underelementet "Gem". Hvis du trykker på dette, udføres kommandoen "Gem ()". Det er vigtigt, at du har defineret kommandoerne i koden inden kommandoen "root = Tk ()".
- Nu kan du tilføje så mange underelementer, som du vil. Tip: Du kan også bruge kommandoen "filemenu.add_separator ()" til at tilføje en skillelinje mellem individuelle underelementer.
- Når du er færdig med et menupunkt, skal du ikke glemme at tilføje kommandoen "menubar.add_cascade (label =" fil ", menu = filemenu)". Denne kommando giver menupunktet navnet "File".
- Hvis du vil tilføje yderligere menupunkter, skal du kun ændre variablen for menupunktet, så der ikke opstår fejl. I stedet for "filemenu" kan du bruge "editmenu" hver gang.
- Glem ikke at tilføje kommandoen "root.config (menu = menubar)" før kommandoen "root.mainloop ()" i slutningen af din kode, så din menulinje også vises.
GUI med Python: tilføj etiketter og poster
Nu kan du begynde at tilføje tekster og tekstfelter til dit Python-program.
- Du kan tilføje en første etiket med kommandoen "a = Label (tekst =" Navn: ", bg =" hvid ", fg =" sort ")" (uden anførselstegn). Denne etiket er repræsenteret af variablen "a" og har teksten "Navn:". Tekstens farve på teksten er sort og baggrunden er hvid.
- For at etiketten skal vises, skal du skrive kommandoen "a.grid ()" under den. Du finder ud af, hvad du har brug for gitter () til i næste afsnit.
- Du kan oprette et tekstfelt med kommandoen "b = Indtastning ()". I dette tilfælde er tekstfeltet repræsenteret af variablen "b".
- Igen skal du indsætte gitterkommandoen igen: "b.grid ()"
Programmering af TkInter: Grid and Pack - Geometry Manager
Du må have spekuleret på, hvad du har brug for netkommandoen til:
- Denne kommando er en geometri manager. Hvis parenteserne er tomme, gør det intet.
- Du kan dog ændre din kommando på denne måde: "b.grid (række = 1, kolonne = 1, sticky = W)". Tekstfeltet vil nu være i række 1 og i kolonne 1 og justeret mod vest (venstre kant af skærmen).
- Du kan bruge gitterkommandoen til at specificere placering og orientering af individuelle objekter. Bemærk dog, at med denne kommandorække 0 er den første række, og kolonne 0 er den første kolonne.
- Ud over netgeometri-manager findes der også pakkegeometri-manager. Et eksempel ville være kommandoen "b.pack (side = 'top', fill =" x ", padx =" 5 ", pady =" 10 ")". Med attributten "side" kan du bestemme placeringen i GUI. Med attributten "fyld" kan du justere højden og bredden af en GUI-komponent til den givne ramme. Med "padx" og "pady" kan du definere rummet omkring en GUI-komponent.
- Bemærk dog, at du enten kan bruge gitteret eller pakningsgeometrihåndteringen i et Python-program. Men aldrig begge på samme tid.
GUI-programmering: tilføj knapper
Meget ofte kan knapper også findes i programmer. Der er tre vigtige standardknapper i Python:
- For eksempel kan du tilføje den normale knap med kommandoen "knap1 = knap (tekst =" Test ", bg =" rød ", fg =" sort ", kommando = test1)" (uden anførselstegn). Hvis der trykkes på denne knap, udføres funktionen "test1 ()".
- Ud over de normale knapper er der også såkaldte kontrolknapper. Et eksempel på dette ville være "checkbutton1 = Checkbutton (root, text =" Test ", onvalue = 1, offvalue = 0, variabel = var1)". Det er vigtigt, at du indsætter kommandoen "var1 = IntVar ()" på forhånd. Dette er den eneste måde, hvorpå programmet ved, at "var1" -variablen er en heltalvariabel. Hvis afkrydsningsfeltet er aktiveret, tager "var1" værdien "1" (onvalue). Hvis afkrydsningsfeltet ikke er aktiveret, antages værdien 0 (offvalue). Tip: Du kan finde ud af denne værdi med kommandoen "var1.get ()".
- Endelig er der radioknappen. Du kan tilføje dette med kommandoen "radiobutton1 = Radiobutton (root, text =" Test ", value = 1)". Alle radioknapper, der har den samme værdi under "værdi", aktiveres, så snart en af disse knapper er aktiveret. Derfor skal du indtaste en anden værdi hver gang, så kun en knap er aktiveret.
- Glem forresten ikke at administrere dine knapper med gitter- eller pakkegeometri-manager.
Python: Skjul terminal
Terminalen vises normalt for hvert Python-program - uanset om det er med eller uden en GUI. Dette er dog meget irriterende, især for programmer med en GUI. Du kan dog også skjule det. Vi viser dig nu, hvordan du gør dette i Windows 10:
- Start Explorer og klik på fanen "Vis".
- Sørg nu for, at afkrydsningsfeltet "File name extensions" er aktiveret.
- Omdøb din Python-fil, så filtypenavnet ikke længere er .py men .pyw.
Flere tip om Python i vores CHIP-guider
Tip: Du kan finde yderligere programmeringsvejledninger på vores emne-side om programmeringssprog for Python. Der viser vi dig for eksempel, hvordan du kan bruge rækkevidden og xrange-funktionerne.
$config[ads_text6] not found