Ključne Tačke
- Programeri koji koriste Python mogu koristiti GTK+ i Glade za stvaranje intuitivnih grafičkih korisničkih interfejsa (GUI) putem vizuelnog okruženja.
- Podešavanje okruženja za ovaj primer obuhvata instalaciju Pythona, GTK+, Glade i PyGObject.
- Korišćenje GTK+ i Glade za razvoj Python GUI-ja ubrzava proces i razdvaja dizajn interfejsa od samog programskog koda.
Python je vrlo pristupačan programski jezik, idealan za analizu podataka i razvoj veb aplikacija. Takođe, izvanredan je izbor i za stvaranje GUI aplikacija. GTK+ i Glade znatno olakšavaju proces kreiranja jednostavnih aplikacija koje rade na različitim platformama.
GTK+ i Glade – Dizajneri Interfejsa za Python Programere
GTK+ (GIMP Toolkit) i Glade Interface Designer predstavljaju sjajnu kombinaciju za Python programere koji žele da naprave intuitivan i vizuelno privlačan grafički korisnički interfejs.
GTK+ je set alata za više platformi, pomoću kojeg možete razvijati GUI. On je kompatibilan sa raznim operativnim sistemima, uključujući Linux, Windows i macOS.
Glade Interface Designer, kao prateći alat za GTK+, omogućava dizajniranje GUI-ja bez potrebe za pisanjem koda za raspored elemenata. Možete ga koristiti za kreiranje GUI-ja u WYSIWYG okruženju, uz pomoć nekoliko klikova i jednostavne tehnike prevlačenja i ispuštanja.
Podešavanje Python Okruženja za GTK+ i Glade Razvoj
Podešavanje vašeg razvojnog okruženja je ključni prvi korak koji osigurava neometan i efikasan radni tok.
1. Instalacija Pythona
Prvo se uverite da imate instaliran Python na svom sistemu. U primerima koje budete čitali, biće korišćen Python 3, jer nudi bolju podršku i integraciju sa GTK+ i Glade. Na Linux i macOS sistemima, Python je najčešće već predinstaliran.
Korisnici Windows-a mogu preuzeti Python sa zvanične veb stranice Pythona.
2. Instalacija GTK+
GTK+ se može instalirati pomoću upravitelja paketa.
Za Linux sisteme bazirane na Ubuntu i Debianu, koristite:
sudo apt-get install libgtk-3-dev
Za Fedoru i slične distribucije:
sudo dnf install gtk3-devel
Na macOS-u, koristeći Homebrew:
brew install gtk+3
Korisnici Windows-a mogu preuzeti GTK+ sa GTK-ove zvanične stranice za preuzimanje. Međutim, ako imate instaliran MSYS2, možete otvoriti MSYS2 komandnu liniju i koristiti sledeću komandu:
pacman -S mingw-w64-x86_64-python-gobject
3. Instalacija Glade
Glade se može instalirati putem komandne linije.
Za Ubuntu i Debian Linux distribucije:
sudo apt-get install glade
Na Fedori:
sudo dnf install glade
Korisnici macOS-a mogu koristiti Homebrew:
brew install glade
Korisnici Windows-a mogu upotrebiti sledeću komandu sa MSYS2:
pacman -S mingw-w64-x86_64-glade
4. Python Povezivanje za GTK+
Instalirajte PyGObject da integrišete GTK+ sa Pythonom. Komanda za to je:
pip install PyGObject
Ako se pojavi greška tokom instalacije PyGObject, kao što je „Točak izgrade za pycairo (pyproject.toml) nije pokrenut“, moraćete da instalirate i cairo paket.
Za Ubuntu i Debian Linux distribucije:
sudo apt-get install libcairo2-dev
Za Fedoru:
sudo yum install cairo-devel
Na macOS-u:
brew install pygobject3
5. Podešavanje Virtuelnog Okruženja (Opciono)
Preporučuje se korišćenje virtuelnog okruženja za Python projekte, jer izoluje zavisnosti vašeg projekta. Napravite i aktivirajte virtuelno okruženje na Linux-u pomoću ovih komandi terminala:
python -m venv myenv
source myenv/bin/activate
Na Windows operativnom sistemu koristite:
python -m venv myenv
myenv\Scripts\activate
Na macOS-u, da biste osigurali da virtuelno okruženje može pristupiti paketima pripremljenim instalacijama, koristite:
python -m venv --system-site-packages myenv
source myenv/bin/activate
6. Verifikacija Instalacije
Da biste proverili da li su GTK+ i Glade pravilno instalirani, napravite jednostavnu Python skriptu koja uvozi 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())
Kada pokrenete ovu skriptu, ona će ispisati instaliranu verziju GTK+. Ako sve prođe kako treba, uspešno ste podesili svoje razvojno okruženje.
Kreiranje Jednostavne GUI Aplikacije sa Glade Interface Designer-om i Python-om
Možete dizajnirati svoj GUI u Glade Interface Designer-u i sačuvati izgled kao projektnu datoteku. Zatim, možete pristupiti toj datoteci iz svog Python koda.
Dizajniranje GUI-ja sa Glade
Glade-ov interfejs za prevlačenje i ispuštanje olakšava fokusiranje na dizajn bez da se zaglavite u osnovnom kodu. Pokrenite Glade iz menija aplikacija vašeg sistema ili komandne linije koristeći ovu komandu:
glade
Trebalo bi da vidite Glade interfejs gde možete početi da kreirate svoj GUI raspored.
Dugme „Kreiraj novi projekat“ u gornjem levom uglu pruža prazno platno za dizajn vašeg GUI-ja. Glade nudi širok izbor widgeta na svojoj gornjoj traci, uključujući dugmad, polja za unos teksta i labele. Prevucite te widgete na platno kako biste počeli sa stilizovanjem vašeg GUI-ja. Možete menjati veličinu i poziciju widgeta prema potrebama dizajna.
Prvo, izaberite GtkWindow widget iz menija „Toplevels“:
Na stranici „Opšte“ u desnoj traci Glade-a, videćete opciju „ID“. Taj ID predstavlja jedinstveno ime widgeta koji ste dodali. U ovom primeru, dodelite ID `myMainWindow` GtkWindow widgetu koji ste dodali.
Sada možete dodati widgete u glavni prozor koji ste kreirali. Idite na „Kontejnere“ na gornjoj traci, izaberite GtkBox widget i prevucite ga u radni prostor. Zatim mu dajte ID, `myMainBox`.
Nakon što dodate GtkBox widget, sa desne strane radnog prostora ćete videti razne opcije koje su specifične za taj widget. Ovde možete da uredite čitav dizajn bez pisanja koda.
Zatim, dodajte „Control“ widget svom dizajnu. Da biste to uradili, idite na „Control“ na gornjoj traci, izaberite GtkButton kao primer i prevucite ga bilo gde u okviru GtkBox-a. Dajte mu ID, `myButton`. Ukoliko želite, možete promeniti i tekst dugmeta koristeći karticu „Opšte“ na desnoj strani.
GtkButton je widget na koji se može kliknuti, pa možete definisati Python handler za njega i kasnije napisati odgovarajući kod. Idite na karticu „Signali“ u desnom meniju i odredite handler za signal „clicked“. U ovom primeru, nazovite ga `on_button_clicked`.
Sada možete da sačuvate vaš GUI dizajn kao projektnu datoteku. Sačuvajte datoteku kao `myDesign.glade`.
Korišćenje Glade Datoteke Dizajna iz Python Koda
Napravite `app.py` datoteku u istom direktorijumu gde je i vaš `myDesign.glade` fajl. Nalepite sledeći kod u ovu datoteku:
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()
Ovaj kod će promeniti boju pozadine svaki put kada kliknete na dugme. Obratite pažnju na pozive `self.builder.get_object()` koji prosleđuju ID-eve widgeta koje ste definisali u Glade-u.
Pokrenite svoju Python skriptu koristeći sledeću komandu da biste videli rezultat:
python3 app.py
Prednosti Korišćenja GTK+ i Glade za Razvoj Python GUI-ja
Korišćenje GTK+ i Glade za razvoj Python GUI-ja nudi jasne prednosti. Obično kreiranje GUI-ja zahteva mnogo vremena i truda. Ali uz Glade Interface Designer, možete ubrzati taj proces. Glade takođe nudi širok spektar widgeta, od kojih je svaki jednostavan za korišćenje kao i dugme u primeru.
Ključna prednost Glade-a je njegova sposobnost da zadrži dizajn GUI-ja odvojenim od programskog koda. To čini održavanje i ažuriranje GUI-ja jednostavnijim. Ovaj pristup vodi ka čistijem, bolje organizovanom kodu, u skladu sa savremenim programskim praksama.