Vytvořte si své první GUI v Pythonu s Glade a GTK+

Klíčové věci

  • Vývojáři Pythonu mohou používat GTK+ a Glade k vytváření intuitivních GUI pomocí vizuálního rozhraní.
  • Nastavení prostředí pro tento příklad zahrnuje instalaci Pythonu, GTK+, Glade a PyGObject.
  • Použití GTK+ a Glade pro vývoj GUI pro Python urychluje proces a odděluje návrh GUI od kódu.

Python je dostupný jazyk, který je ideální pro analýzu dat a vývoj webových aplikací. Ale je to skvělá volba i pro vývoj GUI aplikací. GTK+ a Glade zjednodušují proces vytváření jednoduchých multiplatformních aplikací.

GTK+ a návrhář rozhraní Glade pro vývojáře Pythonu

GTK+ (GIMP Toolkit) a Glade Interface Designer jsou skvělou kombinací pro vývojáře Pythonu, kteří chtějí vytvářet intuitivní a příjemná grafická uživatelská rozhraní.

GTK+ je multiplatformní sada nástrojů, kterou můžete použít pro vývoj GUI. Je kompatibilní s řadou operačních systémů, včetně Linuxu, Windows a macOS.

Glade Interface Designer, doprovodný nástroj ke GTK+, vám umožňuje navrhovat GUI, aniž byste museli psát kód rozvržení. Můžete jej použít k vytvoření GUI v prostředí WYSIWYG pomocí několika kliknutí a jednoduchých funkcí přetažení.

Nastavení prostředí Python pro vývoj GTK+ a Glade

Nastavení vašeho prostředí je kritickým prvním krokem k zajištění hladkého a efektivního pracovního postupu.

1. Nainstalujte Python

Začněte tím, že se ujistěte, že máte ve svém systému nainstalovaný Python. V příkladech, které si přečtete, uvidíte kód Python 3, protože nabízí lepší podporu a integraci pro GTK+ a Glade. Pro Linux a macOS je Python obvykle předinstalovaný.

  Je DealDash podvod nebo můžete získat legální nabídky?

Uživatelé Windows si mohou stáhnout Python z oficiální stránky Pythonu.

2. Nainstalujte GTK+

GTK+ můžete nainstalovat pomocí správce balíčků.

Pro systémy Ubuntu a Linux založené na Debianu použijte:

 sudo apt-get install libgtk-3-dev 

Pro Fedoru a podobné:

 sudo dnf install gtk3-devel 

V systému macOS pomocí Homebrew:

 brew install gtk+3 

Uživatelé Windows si mohou stáhnout GTK+ z Oficiální stránka ke stažení GTK. Ale pokud máte nainstalovaný MSYS2, můžete otevřít příkazový řádek MSYS2 a použít tento příkaz:

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

3. Nainstalujte Glade

K instalaci Glade můžete použít příkazový řádek.

Pro Ubuntu a distribuce Linuxu založené na Debianu:

 sudo apt-get install glade 

Na Fedoře:

 sudo dnf install glade 

Uživatelé macOS mohou používat Homebrew:

 brew install glade 

Uživatelé Windows mohou s MSYS2 použít následující příkaz:

 pacman -S mingw-w64-x86_64-glade 

4. Vazby Pythonu pro GTK+

Nainstalujte PyGObject pro integraci GTK+ s Pythonem. Příkaz, který k tomu použijete, je:

 pip install PyGObject 

Pokud se během instalace PyGObject objeví chyba jako „Building wheel for pycairo (pyproject.toml) se nespustilo“, budete muset nainstalovat také balíček cairo.

Pro Ubuntu a distribuce Linuxu založené na Debianu:

 sudo apt-get install libcairo2-dev 

Pro Fedoru:

 sudo yum install cairo-devel 

V systému macOS:

 brew install pygobject3 

5. Nastavení virtuálního prostředí (volitelné)

Je dobrým zvykem používat pro své projekty Python virtuální prostředí. Tím se izolují závislosti vašeho projektu. Vytvořte a aktivujte virtuální prostředí v systému Linux pomocí těchto příkazů terminálu:

 python -m venv myenv
source myenv/bin/activate

Při použití Windows:

 python -m venv myenv
myenv\Scripts\activate

V macOS, abyste zajistili, že virtuální prostředí bude mít přístup k balíčkům, které se instalují, použijte:

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

6. Ověření instalace

Chcete-li ověřit, že jsou nainstalovány GTK+ a Glade, vytvořte jednoduchý skript Python, který importuje 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())

Když spustíte tento skript, vypíše nainstalovanou verzi GTK+. Pokud vše půjde dobře, máte nastavené vývojové prostředí.

  Jak smazat čistý účet

Vytvoření jednoduché GUI aplikace s Glade Interface Designer a Python

Svou aplikaci GUI můžete navrhnout v Glade Interface Designer a exportovat rozvržení jako soubor projektu. K tomuto souboru projektu pak můžete přistupovat z kódu Pythonu.

Navrhování vašeho GUI s Glade

Rozhraní Glade pro přetahování usnadňuje soustředit se na návrh, aniž byste se zabředli do základního kódu. Spusťte Glade z nabídky aplikace nebo příkazového řádku vašeho systému pomocí tohoto příkazu:

 glade

Měli byste vidět rozhraní Glade, kde můžete začít vytvářet rozvržení GUI.

Tlačítko Vytvořit nový projekt v levém horním rohu poskytuje prázdné plátno pro návrh GUI. Glade nabízí ve své horní liště širokou škálu widgetů, včetně tlačítek, textových vstupů a štítků. Přetáhněte tyto widgety na plátno a začněte upravovat své GUI. Můžete měnit velikost a umístění widgetů podle vašich potřeb návrhu.

Nejprve vyberte widget GtkWindow z nabídky Nejvyšší úrovně:

Na stránce Obecné v pravé liště Glade uvidíte možnost ID. Toto ID je jedinečný název widgetu, který jste přidali. V tomto příkladu přiřaďte ID myMainWindow k GtkWindow, které jste přidali.

Nyní můžete přidat widgety do hlavního okna, které jste vytvořili. Přejděte na Kontejnery v horní liště, vyberte widget GtkBox a přetáhněte jej do svého pracovního prostoru. Pak mu dejte ID, myMainBox.

  7 generátorů značek schémat, které vám pomohou ve vaší hře SEO

Po přidání widgetu GtkBox uvidíte napravo od svého pracovního prostoru různé možnosti, které jsou specifické pro daný widget. Zde můžete upravovat celý svůj design bez psaní kódu.

Dále do svého návrhu přidejte ovládací prvek. Chcete-li tak učinit, přejděte na ovládací prvek v horní liště, jako příklad vyberte GtkButton a přetáhněte jej kamkoli do GtkBoxu. Dejte tomu ID, myButton. Pokud chcete, můžete také změnit text tlačítka pomocí karty Obecné v pravém panelu.

GtkButton je klikací widget, takže pro něj můžete definovat handler Pythonu a napsat příslušný kód později. Přejděte na záložku Signály v pravém menu a zadejte handler pro kliknutý signál. V tomto příkladu to nazvěte on_button_clicked.

Nyní můžete uložit svůj návrh GUI jako soubor projektu. Uložte soubor jako myDesign.glade.

Použití souboru Glade Design z kódu Python

Vytvořte soubor app.py ve stejném adresáři jako váš soubor myDesign.glade. Do tohoto souboru vložte následující kód:

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

Tento kód změní barvu pozadí pokaždé, když kliknete na tlačítko. Všimněte si volání self.builder.get_object(), která předávají ID widgetů, které jste definovali v Glade.

Spusťte svůj skript Python pomocí tohoto příkazu, abyste viděli výsledek:

 python3 app.py 

Výhody použití GTK+ a Glade pro vývoj GUI v Pythonu

Použití GTK+ a Glade pro vývoj GUI v Pythonu nabízí jasné výhody. Vytvoření GUI obvykle vyžaduje spoustu času a úsilí. Ale s Glade Interface Designer můžete proces urychlit. Glade také nabízí širokou škálu widgetů, z nichž každý se používá stejně snadno jako tlačítko v příkladu.

Klíčovou výhodou Glade je jeho schopnost udržet design GUI oddělený od kódu. Díky tomu je údržba a aktualizace GUI jednodušší. Tento přístup vede k čistšímu, lépe organizovanému kódu v souladu s moderními programovacími postupy.