Viktige poenger
- Python-utviklere kan dra nytte av GTK+ og Glade for å skape intuitive grafiske brukergrensesnitt (GUI) ved hjelp av et visuelt designverktøy.
- For å sette opp utviklingsmiljøet for dette, er det nødvendig å installere Python, GTK+, Glade og PyGObject.
- Bruk av GTK+ og Glade i Python GUI-utvikling effektiviserer prosessen og separerer GUI-design fra den underliggende koden.
Python er et allsidig programmeringsspråk, utmerket for dataanalyse og webutvikling. Det er også et fornuftig valg for å utvikle applikasjoner med grafisk brukergrensesnitt. GTK+ og Glade forenkler prosessen med å lage enkle apper som kan kjøres på tvers av forskjellige plattformer.
GTK+ og Glade: Grensesnittdesignere for Python-utviklere
GTK+ (GIMP Toolkit) og Glade Interface Designer er en utmerket kombinasjon for Python-utviklere som er opptatt av å bygge interaktive og visuelt tiltalende grafiske brukergrensesnitt.
GTK+ er et bibliotek som støtter flere plattformer og som kan brukes til utvikling av brukergrensesnitt. Det er kompatibelt med en rekke operativsystemer, inkludert Linux, Windows og macOS.
Glade Interface Designer er et tilleggsverktøy til GTK+ som lar deg designe grensesnitt uten å måtte skrive manuell layoutkode. Du kan lage et brukergrensesnitt i et WYSIWYG-miljø (What You See Is What You Get) med noen få enkle klikk og dra-og-slipp-funksjoner.
Konfigurere Python-miljøet for GTK+ og Glade-utvikling
En grundig oppsett av miljøet ditt er et viktig første trinn for å sikre en jevn og effektiv utviklingsprosess.
1. Installere Python
Sørg først for at Python er installert på datamaskinen din. I eksemplene som du finner, brukes Python 3-kode, da dette gir bedre støtte og integrasjon med GTK+ og Glade. Vanligvis er Python forhåndsinstallert på Linux og macOS.
Windows-brukere kan laste ned Python fra den offisielle nettsiden for Python.
2. Installere GTK+
GTK+ kan installeres ved hjelp av en pakkebehandler.
For Ubuntu og Debian-baserte Linux-systemer, bruk følgende kommando:
sudo apt-get install libgtk-3-dev
For Fedora og lignende systemer:
sudo dnf install gtk3-devel
På macOS, bruk Homebrew:
brew install gtk+3
Windows-brukere kan laste ned GTK+ fra den offisielle GTK-nedlastingssiden. Hvis du har MSYS2 installert, kan du åpne MSYS2-kommandolinjen og kjøre denne kommandoen:
pacman -S mingw-w64-x86_64-python-gobject
3. Installere Glade
Glade kan installeres ved hjelp av kommandolinjen.
For Ubuntu- og Debian-baserte Linux-distribusjoner:
sudo apt-get install glade
På Fedora:
sudo dnf install glade
For macOS-brukere, bruk Homebrew:
brew install glade
Windows-brukere kan bruke denne kommandoen med MSYS2:
pacman -S mingw-w64-x86_64-glade
4. Python-bindinger for GTK+
Installer PyGObject for å integrere GTK+ med Python. Kommandoen for dette er:
pip install PyGObject
Hvis du får en feilmelding som «Byggehjul for pycairo (pyproject.toml) mislyktes» under installasjonen av PyGObject, 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 anbefales å bruke et virtuelt miljø for dine Python-prosjekter. Dette isolerer prosjektavhengigheter. Opprett og aktiver et virtuelt miljø på Linux ved hjelp av disse kommandoene i terminalen:
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 er installert via brew, 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, skal det vise den installerte GTK+-versjonen. Hvis alt går som det skal, er utviklingsmiljøet ditt klart.
Lage en enkel GUI-applikasjon med Glade Interface Designer og Python
Du kan designe GUI-applikasjonen din i Glade Interface Designer og eksportere layouten som en prosjektfil. Denne filen kan deretter refereres til i Python-koden din.
Designe GUI med Glade
Glades dra-og-slipp-grensesnitt gjør det enkelt å fokusere på designet uten å gå i detalj med den underliggende koden. Start Glade fra systemets programmeny eller kommandolinje med denne kommandoen:
glade
Du skal nå se Glade-grensesnittet der du kan begynne å utforme GUI-layouten.
Klikk på «Nytt prosjekt»-knappen øverst til venstre for å få et blankt lerret for GUI-designet. Glade tilbyr et bredt spekter av widgets øverst, inkludert knapper, tekstinndatafelter og etiketter. Dra disse widgetene over på lerretet for å begynne å forme GUI-en din. Du kan endre størrelse på og plassere widgetene slik det passer designbehovene dine.
Begynn med å velge en GtkWindow-widget fra Toplevels-menyen:
I høyre panel i Glade, på «Generelt»-siden, finner du et ID-alternativ. Denne ID-en er et unikt navn for widgeten du har lagt til. I dette eksemplet gir du GtkWindow-widgeten ID-en «myMainWindow».
Du kan nå legge til widgets i hovedvinduet du har opprettet. Gå til «Containere» øverst, velg en GtkBox-widget og dra den over til arbeidsområdet ditt. Gi den ID-en «myMainBox».
Etter å ha lagt til GtkBox-widgeten, vil du se forskjellige alternativer til høyre for arbeidsområdet som er spesifikke for den widgeten. Du kan gjøre alle endringer i designet her uten å måtte skrive kode.
Deretter legger du til en kontrollwidget i designet. Gå til «Kontroll» øverst, velg en GtkButton som eksempel, og dra den til en plassering i GtkBox. Gi den ID-en «myButton». Du kan også endre teksten på knappen ved hjelp av «Generelt»-fanen i panelet til høyre.
GtkButton er en klikkbar widget. Du kan definere en Python-behandler for den og skrive den nødvendige koden senere. Gå til «Signaler»-fanen i menyen til høyre, og definer en behandler for «clicked»-signalet. I dette eksemplet kaller vi den «on_button_clicked».
Du kan nå lagre GUI-designet ditt som en prosjektfil. Lagre filen som «myDesign.glade».
Bruke Glade Design File fra Python-kode
Lag en fil som heter «app.py» i samme mappe som filen «myDesign.glade». 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 endrer bakgrunnsfargen hver gang du klikker på knappen. Legg merke til bruken av «self.builder.get_object()» som gir ID-ene til widgetene som ble definert 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
Å benytte GTK+ og Glade for Python GUI-utvikling gir flere fordeler. Det å lage et grafisk brukergrensesnitt kan normalt være tidkrevende og ressurskrevende. Men med Glade Interface Designer kan du effektivisere denne prosessen. Glade tilbyr også et mangfold av widgets, som er like lette å bruke som knappen i eksemplet.
En betydelig fordel med Glade er dens evne til å skille GUI-design fra den underliggende koden. Dette forenkler vedlikehold og oppdatering av brukergrensesnittet. Denne tilnærmingen fører til renere og bedre organisert kode, i tråd med moderne programmeringspraksis.