Lag ditt første GUI i Python med Glade og GTK+

Viktige takeaways

  • Python-utviklere kan bruke GTK+ og Glade til å lage intuitive GUIer ved hjelp av et visuelt grensesnitt.
  • Å sette opp miljøet for dette eksemplet innebærer å installere Python, GTK+, Glade og PyGObject.
  • Bruk av GTK+ og Glade for Python GUI-utvikling øker hastigheten på prosessen og skiller GUI-design fra kode.

Python er et tilgjengelig språk som er perfekt for dataanalyse og webutvikling. Men det er også et godt valg for utvikling av GUI-apper. GTK+ og Glade forenkler prosessen med å lage enkle tverrplattformapper.

GTK+ og Glade Interface Designer for Python-utviklere

GTK+ (GIMP Toolkit) og Glade Interface Designer er en fantastisk kombinasjon for Python-utviklere som ønsker å lage intuitive og tiltalende grafiske brukergrensesnitt.

GTK+ er et multiplattformverktøy som du kan bruke til GUI-utvikling. Den er kompatibel med en rekke operativsystemer, inkludert Linux, Windows og macOS.

Glade Interface Designer, et tilleggsverktøy til GTK+, lar deg designe GUIer uten å måtte skrive layoutkode. Du kan bruke den til å lage en GUI i et WYSIWYG-miljø med noen få klikk og enkle dra-og-slipp-funksjoner.

Sette opp Python-miljøet ditt for GTK+ og Glade-utvikling

Å sette opp miljøet ditt er et kritisk første skritt for å sikre en jevn og effektiv arbeidsflyt.

  Alt du bør vite om Docker Hub

1. Installer Python

Start med å sørge for at du har Python installert på systemet ditt. Du vil se Python 3-kode i eksemplene du leser, siden den gir bedre støtte og integrasjon for GTK+ og Glade. For Linux og macOS er Python vanligvis forhåndsinstallert.

Windows-brukere kan laste ned Python fra det offisielle Python-nettstedet.

2. Installer GTK+

Du kan installere GTK+ ved å bruke en pakkebehandling.

For Ubuntu og Debian-baserte Linux-systemer bruk:

 sudo apt-get install libgtk-3-dev 

For Fedora og lignende:

 sudo dnf install gtk3-devel 

På macOS, bruk Homebrew:

 brew install gtk+3 

Windows-brukere kan laste ned GTK+ fra GTKs offisielle nedlastingsside. Men hvis du har MSYS2 installert, kan du åpne MSYS2-kommandolinjen og bruke denne kommandoen:

 pacman -S mingw-w64-x86_64-python-gobject 

3. Installer Glade

Du kan bruke kommandolinjen for å installere Glade.

For Ubuntu- og Debian-baserte Linux-distribusjoner:

 sudo apt-get install glade 

På Fedora:

 sudo dnf install glade 

macOS-brukere kan bruke Homebrew:

 brew install glade 

Windows-brukere kan bruke følgende kommando med MSYS2:

 pacman -S mingw-w64-x86_64-glade 

4. Python-bindinger for GTK+

Installer PyGObject for å integrere GTK+ med Python. Kommandoen du skal bruke for dette er:

 pip install PyGObject 

Hvis det er en feil som «Byggehjul for pycairo (pyproject.toml) kjørte ikke» under PyGObject-installasjonen, må du også installere cairo-pakken.

For Ubuntu- og Debian-baserte Linux-distribusjoner:

 sudo apt-get install libcairo2-dev 

For Fedora:

 sudo yum install cairo-devel 

På macOS:

 brew install pygobject3 

5. Sette opp et virtuelt miljø (valgfritt)

Det er god praksis å bruke et virtuelt miljø for Python-prosjektene dine. Dette isolerer prosjektavhengighetene dine. Opprett og aktiver et virtuelt miljø på Linux med disse terminalkommandoene:

 python -m venv myenv
source myenv/bin/activate

På Windows bruk:

 python -m venv myenv
myenv\Scripts\activate

På macOS, for å sikre at det virtuelle miljøet har tilgang til pakkene som brew-installerer, bruk:

 python -m venv --system-site-packages myenv
source myenv/bin/activate

6. Bekrefte installasjonen

For å bekrefte at GTK+ og Glade er installert, lag et enkelt Python-skript som importerer GTK:

 import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk

print("GTK+ version:", Gtk.get_major_version(), Gtk.get_minor_version())

Når du kjører dette skriptet, vil det sende ut den installerte GTK+-versjonen. Hvis alt går bra, har du satt opp utviklingsmiljøet ditt.

  Hvilke spillskjermfunksjoner betyr egentlig noe?

Opprette en enkel GUI-app med Glade Interface Designer og Python

Du kan designe GUI-appen din i Glade Interface Designer og eksportere layouten som en prosjektfil. Du kan deretter få tilgang til den prosjektfilen fra Python-koden.

Designe ditt GUI med Glade

Glades dra-og-slipp-grensesnitt gjør det enkelt å fokusere på designet uten å henge seg fast i den underliggende koden. Start Glade fra systemets programmeny eller kommandolinje med denne kommandoen:

 glade

Du bør se Glade-grensesnittet der du kan begynne å lage din GUI-layout.

Opprett nytt prosjekt-knappen øverst til venstre gir et tomt lerret for GUI-designet ditt. Glade tilbyr et bredt utvalg av widgets i topplinjen, inkludert knapper, tekstinndata og etiketter. Dra disse widgetene til lerretet ditt for å begynne å style GUI-en din. Du kan endre størrelse på og plassere widgets i henhold til designbehovene dine.

Velg først GtkWindow-widgeten fra Toplevels-menyen:

På Generelt-siden i høyre bar i Glade vil du se et ID-alternativ. Denne IDen er det unike navnet på widgeten du la til. For dette eksemplet, tilordne ID-en myMainWindow til GtkWindow du la til.

Du kan nå legge til widgets i hovedvinduet du har opprettet. Gå til Containere i topplinjen, velg GtkBox-widgeten og dra den til arbeidsområdet ditt. Så gi den en ID, myMainBox.

  Hvordan installere Genesis Framework på WordPress?

Etter å ha lagt til GtkBox-widgeten, vil du se ulike alternativer til høyre for arbeidsområdet ditt som er spesifikke for den widgeten. Du kan redigere hele designet her uten å skrive noen kode.

Deretter legger du til en kontroll-widget i designet ditt. For å gjøre det, gå til Kontroll i topplinjen, velg GtkButton som eksempel, og dra den hvor som helst i GtkBox. Gi den ID, myButton. Hvis du vil, kan du også endre teksten på knappen ved å bruke fanen Generelt i panelet til høyre.

GtkButton er en klikkbar widget, slik at du kan definere en Python-behandler for den og skrive riktig kode senere. Gå til fanen Signaler i høyremenyen og spesifiser en behandler for det klikkede signalet. For dette eksemplet, kall det on_button_clicked.

Du kan nå lagre GUI-designet ditt som en prosjektfil. Lagre filen som myDesign.glade.

Bruke Glade Design File fra Python Code

Opprett en app.py-fil i samme katalog som myDesign.glade-filen. Lim inn følgende kode i denne filen:

 import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
from gi.repository import Gdk

class MyApp:
    def __init__(self):

        

        self.builder = Gtk.Builder()
        self.builder.add_from_file("myDesign.glade")

        

        self.window = self.builder.get_object("myMainWindow")
        self.window.connect("destroy", Gtk.main_quit)

        

        self.button = self.builder.get_object("myButton")
        self.button.connect("clicked", self.on_button_clicked)

        

        self.color_toggle = False

    def on_button_clicked(self, widget):

        

        color = "#FF0000" if self.color_toggle else "#00FF00"
        self.window.modify_bg(Gtk.StateType.NORMAL, Gdk.color_parse(color))
        self.color_toggle = not self.color_toggle

    def run(self):
        self.window.show_all()
        Gtk.main()

if __name__ == "__main__":
    app = MyApp()
    app.run()

Denne koden vil endre fargen på bakgrunnen hver gang du klikker på knappen. Legg merke til kallene til self.builder.get_object() som sender ID-ene til widgetene du definerte i Glade.

Kjør Python-skriptet med denne kommandoen for å se resultatet:

 python3 app.py 

Fordeler med å bruke GTK+ og Glade for Python GUI-utvikling

Å bruke GTK+ og Glade for Python GUI-utvikling gir klare fordeler. Vanligvis tar det mye tid og krefter å lage en GUI. Men med Glade Interface Designer kan du fremskynde prosessen. Glade tilbyr også et bredt utvalg av widgets, hver like enkel å bruke som knappen i eksemplet.

En viktig fordel med Glade er dens evne til å holde GUI-design atskilt fra koden. Dette gjør vedlikehold og oppdatering av GUI enklere. Denne tilnærmingen fører til renere, bedre organisert kode, i tråd med moderne programmeringspraksis.