Creați-vă prima GUI în Python cu Glade și GTK+

Recomandări cheie

  • Dezvoltatorii Python pot folosi GTK+ și Glade pentru a crea interfețe grafice intuitive folosind o interfață vizuală.
  • Configurarea mediului pentru acest exemplu implică instalarea Python, GTK+, Glade și PyGObject.
  • Utilizarea GTK+ și Glade pentru dezvoltarea GUI Python accelerează procesul și separă designul GUI de cod.

Python este un limbaj accesibil care este perfect pentru analiza datelor și dezvoltarea web. Dar este o alegere excelentă și pentru dezvoltarea aplicației GUI. GTK+ și Glade simplifică procesul de creare a aplicațiilor simple pe mai multe platforme.

GTK+ și Glade Interface Designer pentru dezvoltatorii Python

GTK+ (GIMP Toolkit) și Glade Interface Designer sunt o combinație grozavă pentru dezvoltatorii Python care doresc să creeze interfețe grafice intuitive și plăcute.

GTK+ este un set de instrumente multiplatformă pe care îl puteți folosi pentru dezvoltarea GUI. Este compatibil cu o varietate de sisteme de operare, inclusiv Linux, Windows și macOS.

Glade Interface Designer, un instrument însoțitor pentru GTK+, vă permite să proiectați interfețe grafice fără a fi nevoie să scrieți cod de aspect. Îl puteți folosi pentru a crea o interfață grafică într-un mediu WYSIWYG cu câteva clicuri și funcții simple de glisare și plasare.

Configurarea mediului Python pentru GTK+ și Glade Development

Configurarea mediului este un prim pas esențial pentru a asigura un flux de lucru fluid și eficient.

1. Instalați Python

Începeți prin a vă asigura că aveți Python instalat pe sistemul dvs. Veți vedea codul Python 3 în exemplele pe care le citiți, deoarece oferă suport și integrare mai bune pentru GTK+ și Glade. Pentru Linux și macOS, Python este de obicei preinstalat.

  Ce aplicații Samsung preinstalate ar trebui să păstrați, să înlocuiți și să ștergeți?

Utilizatorii Windows pot descărca Python de pe site-ul oficial Python.

2. Instalați GTK+

Puteți instala GTK+ folosind un manager de pachete.

Pentru sistemele Linux bazate pe Ubuntu și Debian, utilizați:

 sudo apt-get install libgtk-3-dev 

Pentru Fedora și similare:

 sudo dnf install gtk3-devel 

Pe macOS, folosind Homebrew:

 brew install gtk+3 

Utilizatorii Windows pot descărca GTK+ de la Pagina oficială de descărcare a GTK. Dar dacă aveți MSYS2 instalat, puteți deschide linia de comandă MSYS2 și utilizați această comandă:

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

3. Instalați Glade

Puteți utiliza linia de comandă pentru a instala Glade.

Pentru distribuțiile Linux bazate pe Ubuntu și Debian:

 sudo apt-get install glade 

Pe Fedora:

 sudo dnf install glade 

Utilizatorii macOS pot folosi Homebrew:

 brew install glade 

Utilizatorii Windows pot folosi următoarea comandă cu MSYS2:

 pacman -S mingw-w64-x86_64-glade 

4. Legături Python pentru GTK+

Instalați PyGObject pentru a integra GTK+ cu Python. Comanda pe care o vei folosi pentru aceasta este:

 pip install PyGObject 

Dacă există o eroare precum „Building wheel for pycairo (pyproject.toml) does not run” în timpul instalării PyGObject, va trebui să instalați și pachetul cairo.

Pentru distribuțiile Linux bazate pe Ubuntu și Debian:

 sudo apt-get install libcairo2-dev 

Pentru Fedora:

 sudo yum install cairo-devel 

Pe macOS:

 brew install pygobject3 

5. Configurarea unui mediu virtual (opțional)

Este o practică bună să utilizați un mediu virtual pentru proiectele dvs. Python. Acest lucru izolează dependențele de proiect. Creați și activați un mediu virtual pe Linux cu aceste comenzi de terminal:

 python -m venv myenv
source myenv/bin/activate

Pe Windows utilizați:

 python -m venv myenv
myenv\Scripts\activate

Pe macOS, pentru a vă asigura că mediul virtual poate accesa pachetele care produc instalări, utilizați:

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

6. Verificarea instalării

Pentru a verifica dacă GTK+ și Glade sunt instalate, creați un script Python simplu care importă 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())

Când rulați acest script, va afișa versiunea GTK+ instalată. Dacă totul merge bine, ți-ai configurat mediul de dezvoltare.

  Ar trebui să utilizați Hubitat pentru a vă automatiza casa inteligentă?

Crearea unei aplicații GUI simplă cu Glade Interface Designer și Python

Puteți să vă proiectați aplicația GUI în Glade Interface Designer și să exportați aspectul ca fișier de proiect. Apoi puteți accesa acel fișier de proiect din codul dvs. Python.

Proiectați-vă GUI cu Glade

Interfața de glisare și plasare a Glade facilitează concentrarea asupra designului fără a fi blocat în codul de bază. Porniți Glade din meniul aplicației sistemului sau din linia de comandă cu această comandă:

 glade

Ar trebui să vedeți interfața Glade de unde puteți începe să vă creați aspectul GUI.

Butonul Creare proiect nou din stânga sus oferă o pânză goală pentru designul dvs. GUI. Glade oferă o mare varietate de widget-uri în bara de sus, inclusiv butoane, introduceri de text și etichete. Trageți aceste widget-uri pe pânza dvs. pentru a începe să vă stilați GUI. Puteți redimensiona și poziționa widget-urile în funcție de nevoile dvs. de design.

Mai întâi, selectați widgetul GtkWindow din meniul Toplevels:

Pe pagina General din bara din dreapta a Glade, veți vedea o opțiune ID. Acest ID este numele unic al widget-ului pe care l-ați adăugat. Pentru acest exemplu, atribuiți ID-ul myMainWindow la GtkWindow pe care l-ați adăugat.

Acum puteți adăuga widget-uri în fereastra principală pe care ați creat-o. Accesați Containers din bara de sus, selectați widgetul GtkBox și trageți-l în spațiul dvs. de lucru. Apoi dați-i un ID, myMainBox.

După ce adăugați widget-ul GtkBox, veți vedea diferite opțiuni în dreapta spațiului de lucru care sunt specifice acelui widget. Puteți edita întregul design aici fără a scrie niciun cod.

Apoi, adăugați un widget de control la designul dvs. Pentru a face acest lucru, accesați Control în bara de sus, selectați GtkButton ca exemplu și trageți-l oriunde în GtkBox. Dă-i ID, myButton. Dacă doriți, puteți modifica și textul butonului folosind fila General din panoul din dreapta.

  Frecvențele și setările egalizatorului pe playerele muzicale explicate

GtkButton este un widget pe care se poate face clic, astfel încât să puteți defini un handler Python pentru acesta și să scrieți codul corespunzător mai târziu. Accesați fila Semnale din meniul din dreapta și specificați un handler pentru semnalul pe care ați făcut clic. Pentru acest exemplu, numiți-l on_button_clicked.

Acum vă puteți salva designul GUI ca fișier de proiect. Salvați fișierul ca myDesign.glade.

Utilizarea fișierului de design Glade din codul Python

Creați un fișier app.py în același director cu fișierul myDesign.glade. Lipiți următorul cod în acest fișier:

 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()

Acest cod va schimba culoarea fundalului de fiecare dată când faceți clic pe buton. Rețineți apelurile către self.builder.get_object() care transmit ID-urile widget-urilor pe care le-ați definit în Glade.

Rulați scriptul Python folosind această comandă pentru a vedea rezultatul:

 python3 app.py 

Avantajele utilizării GTK+ și Glade pentru dezvoltarea GUI Python

Utilizarea GTK+ și Glade pentru dezvoltarea GUI Python oferă beneficii clare. De obicei, crearea unei GUI necesită mult timp și efort. Dar cu Glade Interface Designer, puteți accelera procesul. Glade oferă, de asemenea, o gamă largă de widget-uri, fiecare la fel de ușor de utilizat ca și butonul din exemplu.

Un avantaj cheie al Glade este capacitatea sa de a păstra designul GUI separat de cod. Acest lucru face menținerea și actualizarea GUI mai simplă. Această abordare duce la un cod mai curat, mai bine organizat, în conformitate cu practicile moderne de programare.