Innholdsfortegnelse
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.
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 Gtkprint("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.
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.
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 Gdkclass 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_toggledef 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.