Tartalomjegyzék
Kulcs elvitelek
- A Python fejlesztők a GTK+ és a Glade segítségével vizuális interfész segítségével intuitív grafikus felhasználói felületeket hozhatnak létre.
- A példa környezetének beállítása magában foglalja a Python, a GTK+, a Glade és a PyGObject telepítését.
- A GTK+ és a Glade for Python grafikus felhasználói felület fejlesztése felgyorsítja a folyamatot, és elválasztja a grafikus felület tervezését a kódtól.
A Python egy hozzáférhető nyelv, amely tökéletes adatelemzésre és webfejlesztésre. De nagyszerű választás GUI-alkalmazások fejlesztéséhez is. A GTK+ és a Glade leegyszerűsíti az egyszerű, többplatformos alkalmazások létrehozásának folyamatát.
GTK+ és Glade Interface Designer Python fejlesztőknek
A GTK+ (GIMP Toolkit) és a Glade Interface Designer nagyszerű kombináció a Python fejlesztők számára, akik intuitív és tetszetős grafikus felhasználói felületeket szeretnének létrehozni.
A GTK+ egy többplatformos eszközkészlet, amelyet grafikus felhasználói felület fejlesztéséhez használhat. Számos operációs rendszerrel kompatibilis, beleértve a Linuxot, a Windowst és a macOS-t.
A Glade Interface Designer, a GTK+ segédeszköze lehetővé teszi grafikus felhasználói felületek tervezését anélkül, hogy elrendezési kódot kellene írnia. Használhatja grafikus felhasználói felület létrehozására WYSIWYG környezetben néhány kattintással és egyszerű fogd és vidd funkciókkal.
Python-környezet beállítása a GTK+ és a Glade fejlesztéshez
A környezet beállítása az első fontos lépés a gördülékeny és hatékony munkafolyamat biztosításához.
1. Telepítse a Python-t
Kezdje azzal, hogy ellenőrizze, hogy a Python telepítve van-e a rendszeren. Az olvasott példákban Python 3 kódot fog látni, mivel jobb támogatást és integrációt kínál a GTK+ és a Glade számára. Linux és macOS esetén a Python rendszerint előre telepítve van.
A Windows-felhasználók letölthetik a Python-t innen a hivatalos Python webhely.
2. Telepítse a GTK+-t
A GTK+ csomagkezelő segítségével telepíthető.
Ubuntu és Debian alapú Linux rendszerek esetén használja:
sudo apt-get install libgtk-3-dev
Fedora és hasonlók esetén:
sudo dnf install gtk3-devel
MacOS rendszeren a Homebrew használatával:
brew install gtk+3
A Windows felhasználók letölthetik a GTK+-t innen A GTK hivatalos letöltési oldala. De ha telepítve van az MSYS2, megnyithatja az MSYS2 parancssort, és használhatja ezt a parancsot:
pacman -S mingw-w64-x86_64-python-gobject
3. Telepítse a Glade-et
A Glade telepítéséhez használhatja a parancssort.
Ubuntu és Debian alapú Linux disztribúciók esetén:
sudo apt-get install glade
Fedorán:
sudo dnf install glade
A macOS felhasználók használhatják a Homebrew-t:
brew install glade
A Windows-felhasználók a következő parancsot használhatják az MSYS2-vel:
pacman -S mingw-w64-x86_64-glade
4. Python-kötések a GTK+-hoz
Telepítse a PyGObject alkalmazást a GTK+ és a Python integrálásához. Az ehhez használt parancs a következő:
pip install PyGObject
Ha a PyGObject telepítése során hiba történik, például „A pycairo építőkeréke (pyproject.toml) nem futott”, akkor telepítenie kell a cairo csomagot is.
Ubuntu és Debian alapú Linux disztribúciók esetén:
sudo apt-get install libcairo2-dev
Fedora esetében:
sudo yum install cairo-devel
macOS rendszeren:
brew install pygobject3
5. Virtuális környezet beállítása (opcionális)
Bevált gyakorlat virtuális környezet használata Python-projektjeihez. Ez elszigeteli a projektfüggőségeket. Virtuális környezet létrehozása és aktiválása Linuxon a következő terminálparancsokkal:
python -m venv myenv
source myenv/bin/activate
Windows használata esetén:
python -m venv myenv
myenv\Scripts\activate
MacOS rendszeren annak biztosítására, hogy a virtuális környezet hozzáférjen a telepítést előkészítő csomagokhoz, használja a következőket:
python -m venv --system-site-packages myenv
source myenv/bin/activate
6. A telepítés ellenőrzése
A GTK+ és a Glade telepítésének ellenőrzéséhez hozzon létre egy egyszerű Python-szkriptet, amely importálja a GTK-t:
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtkprint("GTK+ version:", Gtk.get_major_version(), Gtk.get_minor_version())
A szkript futtatásakor a telepített GTK+ verziót fogja kiadni. Ha minden jól megy, beállította a fejlesztői környezetet.
Egyszerű GUI-alkalmazás létrehozása Glade Interface Designer és Python segítségével
Megtervezheti GUI-alkalmazását a Glade Interface Designerben, és exportálhatja az elrendezést projektfájlként. Ezután elérheti a projektfájlt a Python-kódból.
GUI tervezése Glade segítségével
A Glade fogd és vidd felülete megkönnyíti a tervezésre való összpontosítást anélkül, hogy beleragadna a mögöttes kódba. Indítsa el a Glade-et a rendszer alkalmazásmenüjéből vagy parancssorából ezzel a paranccsal:
glade
Látnia kell a Glade felületet, ahol elkezdheti létrehozni a GUI elrendezést.
A bal felső sarokban található Új projekt létrehozása gomb egy üres vásznat biztosít a grafikus felület kialakításához. A Glade widgetek széles választékát kínálja a felső sávon, beleértve a gombokat, szövegbeviteleket és címkéket. Húzza ezeket a widgeteket a vászonra a grafikus felhasználói felület stílusának kialakításához. Tervezési igényei szerint átméretezheti és elhelyezheti a widgeteket.
Először válassza ki a GtkWindow widgetet a Felső szintek menüből:
A Glade jobb oldali sávjában található Általános oldalon egy ID opciót fog látni. Ez az azonosító a hozzáadott modul egyedi neve. Ebben a példában rendelje hozzá a myMainWindow azonosítót a hozzáadott GtkWindowhoz.
Mostantól widgeteket adhat hozzá a létrehozott főablakhoz. A felső sávban lépjen a Tárolók elemre, válassza ki a GtkBox widgetet, és húzza a munkaterületre. Akkor adj neki egy azonosítót, myMainBox.
A GtkBox widget hozzáadása után a munkaterület jobb oldalán számos, az adott widgetre jellemző opciók jelennek meg. Itt szerkesztheti a teljes tervet anélkül, hogy kódot írna.
Ezután adjon hozzá egy Control widgetet a tervéhez. Ehhez lépjen a Vezérlő elemre a felső sávban, válassza ki példaként a GtkButton elemet, és húzza bárhová a GtkBoxban. Add meg az azonosítót, myButton. Ha szeretné, módosíthatja a gomb szövegét is a jobb oldali panel Általános lapján.
A GtkButton egy kattintható widget, így Python-kezelőt definiálhat hozzá, és később megírhatja a megfelelő kódot. A jobb oldali menüben lépjen a Jelek fülre, és adjon meg egy kezelőt a kattintott jelhez. Ebben a példában hívja on_button_clicked.
Most már mentheti a grafikus felhasználói felületet projektfájlként. Mentse a fájlt myDesign.glade néven.
A Glade Design fájl használata a Python kódból
Hozzon létre egy app.py fájlt ugyanabban a könyvtárban, mint a myDesign.glade fájl. Illessze be a következő kódot ebbe a fájlba:
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()
Ez a kód megváltoztatja a háttér színét minden alkalommal, amikor a gombra kattint. Jegyezze meg a self.builder.get_object() hívásait, amelyek átadják a Glade-ben meghatározott widgetek azonosítóit.
Futtassa a Python-szkriptet ezzel a paranccsal az eredmény megtekintéséhez:
python3 app.py
A GTK+ és a Glade használatának előnyei Python GUI fejlesztéshez
A GTK+ és a Glade for Python grafikus felület fejlesztése egyértelmű előnyöket kínál. Általában egy grafikus felhasználói felület létrehozása sok időt és erőfeszítést igényel. A Glade Interface Designerrel azonban felgyorsíthatja a folyamatot. A Glade widgetek széles választékát is kínálja, mindegyik olyan könnyen használható, mint a példa gombja.
A Glade egyik fő előnye, hogy képes elkülöníteni a grafikus felületet a kódtól. Ez egyszerűbbé teszi a GUI karbantartását és frissítését. Ez a megközelítés tisztább, jobban szervezett kódhoz vezet, összhangban a modern programozási gyakorlattal.