Amarengo

Articles and news

Hogyan hozzunk létre GUI alkalmazások Linux alatt Desktop segítségével PyGObject – Part 1

alkalmazások létrehozása Linux lehet tenni különböző módokon, de van egy korlátozott módon, így a legegyszerűbb és a legtöbb funkcionális programozási nyelvek és könyvtárak, ezért fogunk egy gyors pillantást alkalmazások létrehozása Linux alatt desktop segítségével a GTK+ könyvtár Python programozási nyelv, amely az úgynevezett “PyGObject”.

PyGObject használja a GObject Introspection létrehozni kötelező programozási nyelvek, mint a Python, PyGObject a következő generációs PyGTK, akkor azt mondják, hogy PyGObject = Python + GTK3.

 GUI alkalmazások létrehozása Linuxban
GUI alkalmazások létrehozása Linuxban-rész 1

ma egy sorozatot indítunk a GUI (grafikus felhasználói felület) alkalmazások Linux asztal alatt történő létrehozásáról a GTK+ könyvtár és a PyGobject nyelv használatával, a sorozat a következő témákkal foglalkozik:

1. rész: Hogyan hozzunk létre GUI alkalmazások Linux alatt Desktop segítségével PyGObject
4. rész: csomagolás PyGobject programok a Linux Desktop
a Pythonról

először is, akkor kell néhány alapvető ismereteket Python; Python egy nagyon modern és könnyen használható programozási nyelv. Ez az egyik leghíresebb programozási nyelv a világon, a Python, akkor képes lesz arra, hogy hozzon létre sok nagy alkalmazások & eszközöket. Lehet, hogy néhány ingyenes tanfolyamok, mint azok a codeacademy.com vagy lehet olvasni néhány könyvet Python:

Merüljön El A Pythonban

Python Tesztelés: Kezdő útmutató

játékok készítése Python Pygame-vel

feltalálja saját számítógépes játékait a Python segítségével

a GTK+

GTK + egy nyílt forráskódú cross-platform eszközkészlet grafikus felhasználói felületek létrehozására asztali alkalmazásokhoz, először 1998-ban indult GUI eszközkészletként a GIMP számára, később sok más alkalmazásban használták, és hamarosan az egyik leghíresebb Könyvtár lett a GUI létrehozására. A GTK+ az LGPL licenc alatt kerül kiadásra.

GUI alkalmazások létrehozása Linux alatt

2 mód van az alkalmazások létrehozására a GTK + & Python használatával:

  1. a grafikus felület írása csak kóddal.
  2. tervezése a grafikus felület segítségével a “Glade” program; amely RAD eszköz tervezése GTK+ interfészek könnyen, Glade generál a GUI, mint egy XML fájl, amelyet fel lehet használni bármilyen programozási nyelv építeni a GUI, exportálása után a GUI XML fájl, akkor képes lesz arra, hogy összekapcsolják az XML fájlt a programot, hogy nem a munkát szeretnénk.

röviden elmagyarázzuk mindkét utat.

a Code-Only Way

írás a GUI kóddal csak lehet kicsit nehéz noob programozó és nagyon időpazarló, de használja azt, tudunk létrehozni nagyon funkcionális GUI a programok, több, mint az általunk létrehozott néhány eszköz, mint a Glade.

vegyük a következő példát.

#!/usr/bin/python# -*- coding: utf-8 -*-from gi.repository import Gtkclass ourwindow(Gtk.Window): def __init__(self): Gtk.Window.__init__(self, title="My Hello World Program") Gtk.Window.set_default_size(self, 400,325) Gtk.Window.set_position(self, Gtk.WindowPosition.CENTER) button1 = Gtk.Button("Hello, World!") button1.connect("clicked", self.whenbutton1_clicked) self.add(button1) def whenbutton1_clicked(self, button): print "Hello, World!"window = ourwindow() window.connect("delete-event", Gtk.main_quit)window.show_all()Gtk.main()

másolja a fenti kódot, illessze be a “test.py” fájl és állítsa be a 755 engedélyt a test.py fájlt, majd futtassa a fájlt később a”. /test.py”, ez az, amit kapsz.

# nano test.py# chmod 755 test.py# ./test.py
Hello World Script
Hello World Script

a gombra kattintva megjelenik a ” Hello, világ!”a terminálon kinyomtatott mondat:

teszt Python Script
teszt Python Script

hadd magyarázzam el a kódot részletes magyarázatot.

  1. #!/usr/bin / python: a Python tolmács alapértelmezett elérési útja (a legtöbb esetben a 2.7-es verzió), ennek a sornak kell lennie minden Python fájl első sorának.
  2. # -*- kódolás: utf-8 -*-: Itt állítjuk be a fájl alapértelmezett kódolását, az UTF-8 a legjobb, ha nem angol nyelveket szeretne támogatni, hagyja így.
  3. a gi-től.repository import Gtk: itt importáljuk a GTK 3 könyvtárat, hogy felhasználhassuk a programunkban.
  4. osztály ourwindow(Gtk.Ablak): itt egy új osztályt hozunk létre, amelyet “ourwindow” – nak hívnak, az osztály objektum típusát is “Gtk” – ra állítjuk.Ablak”.
  5. def __init__(self): semmi új, itt definiáljuk a fő ablakösszetevőket.
  6. Gtk.Ablak.__ init__(self, title=”Hello World programom”): Ezt a sort használjuk a “My Hello World Program” cím “ourwindow” ablakra történő beállításához, ha úgy tetszik, megváltoztathatja a címet.
  7. Gtk.Ablak.set_default_size (self, 400,325): nem hiszem, hogy ez a sor magyarázatot igényel, itt az ablakunk alapértelmezett szélességét és magasságát állítjuk be.
  8. Gtk.Ablak.set_position (self, Gtk.Ablakpozíció.Központ): ezzel a sorral beállíthatjuk az ablak alapértelmezett helyzetét, ebben az esetben a “Gtk.Ablakpozíció.Központ “paraméter, ha akarod, megváltoztathatja azt” Gtk.Ablakpozíció.Egér”, hogy nyissa meg az ablakot az egérmutató pozícióját.
  9. button1 = Gtk.Gomb (“Helló, Világ!”): Létrehoztunk egy új Gtk-t.Button1 “- nek hívtuk, a gomb alapértelmezett szövege: “Hello, világ!”, akkor létrehozhat bármilyen Gtk widget, ha akarod.
  10. gomb1.csatlakozás (“kattintott”, önmaga.whenbutton1_clicked): itt összekapcsoljuk a “kattintott” jelet a “whenbutton1_clicked” művelettel, így amikor a gombra kattint, a “whenbutton1_clicked” művelet aktiválódik.
  11. önmaga.Hozzáadás (gomb1): Ha azt akarjuk, hogy a Gtk widgetek megjelenjenek, hozzá kell adnunk őket az alapértelmezett ablakhoz, ez az egyszerű sor hozzáadja a “button1” widgetet az ablakhoz, ezt nagyon meg kell tennie.
  12. def whenbutton1_clicked(self, button): most itt definiáljuk a “whenbutton1_clicked” műveletet, meghatározzuk, mi fog történni, amikor a “button1” widgetre kattintunk, az “(self, button)” paraméter fontos a jel szülő objektumtípusának meghatározásához.
  13. nyomtatás ” Hello, világ!”: Itt nem kell többet magyaráznom.
  14. window = ourwindow(): Létre kell hoznunk egy új globális változót, és be kell állítanunk az ourwindow() osztályra, hogy később a GTK+ könyvtár segítségével hívhassuk.
  15. ablak.csatlakozás (“törlés-esemény”, Gtk.main_quit): most összekapcsoljuk a “delete-event” jelet a “Gtk.main_quit ” művelet, ez fontos az összes kütyü törléséhez, miután automatikusan bezárjuk a programablakot.
  16. ablak.show_all(): az ablak megjelenítése.
  17. Gtk.main (): A Gtk könyvtár futtatása.

ez az, Könnyű, nem? És nagyon funkcionális, ha nagy alkalmazásokat akarunk létrehozni. Ha többet szeretne tudni a GTK + interfészek létrehozásáról a code-only módon, látogasson el a hivatalos dokumentációs weboldalra:

Python GTK3 oktatóanyagok

a Glade Designer Way

mint a cikk elején mondtam, a Glade egy nagyon egyszerű eszköz a programjainkhoz szükséges interfészek létrehozásához, nagyon híres a fejlesztők körében, és sok nagyszerű alkalmazás interfészt hoztak létre vele. Ezt az utat “gyors alkalmazásfejlesztésnek”nevezik.

telepítened kell a Glade-et, hogy elkezdhesd használni a Debian/Ubuntu/Mint run-on:

$ sudo apt­-get install glade

a RedHat/Fedora/CentOS, fuss:

# yum install glade

Miután letöltötte és telepítette a programot, és miután futtatta, a bal oldalon megjelenik a rendelkezésre álló Gtk widgetek, kattintson az “ablak” widgetre egy új ablak létrehozásához.

Új Widget létrehozása
Új Widget létrehozása

észre fogja venni, hogy egy új üres ablak jön létre.

új ablak Widget
új ablak Widget

mostantól hozzáadhat néhány widgetet, a bal oldali eszköztáron kattintson a “gomb” widgetre, majd kattintson az üres ablakra, hogy hozzáadja a gombot az ablakhoz.

Widget hozzáadása
Widget hozzáadása

észre fogja venni, hogy a gombazonosító “button1”, most nézze meg a jelek fület a jobb eszköztáron, keresse meg a “kattintott” jelet, és írja be alatta a “button1_clicked” parancsot.

 tisztás gomb tulajdonságai
gomb tulajdonságai
Glade Signals Tab
Signals Tab

most, hogy létrehoztuk a GUI-t, exportáljuk. Kattintson a” Fájl “menüre, válassza a” Mentés “lehetőséget, mentse el a fájlt a saját könyvtárába a “myprogram” név alatt.glade ” és kilépés.

 Glade Export Widget Fájl
Export Widget Fájl

most hozzon létre egy új “test.py” fájlba, és írja be a következő kódot.

#!/usr/bin/python# -*- coding: utf-8 -*-from gi.repository import Gtkclass Handler: def button_1clicked(self, button): print "Hello, World!"builder = Gtk.Builder()builder.add_from_file("myprogram.glade")builder.connect_signals(Handler())ournewbutton = builder.get_object("button1")ournewbutton.set_label("Hello, World!")window = builder.get_object("window1")window.connect("delete-event", Gtk.main_quit)window.show_all()Gtk.main()

mentse el a fájlt, adjon neki 755 engedélyt, mint korábban, és futtassa a “./ teszt.py”, és ez az, amit kapsz.

# nano test.py# chmod 755 test.py# ./test.py
Helló világ ablak
Helló világ ablak

kattintson a gombra, és észre fogja venni, hogy a ” Hello, világ!”mondat van nyomtatva a terminál.

most magyarázzuk el az új dolgokat:

  1. class Handler: itt egy “Handler” nevű osztályt hozunk létre, amely tartalmazza a & jelek definícióit, amelyeket a GUI számára hozunk létre.
  2. builder = Gtk.Builder(): létrehoztunk egy új globális változót “builder” néven, amely egy Gtk.Builder widget, ez fontos annak érdekében, hogy importálja a .glade fájl.
  3. építő.add_from_file (“myprogram.glade”): itt importáljuk a ” myprogramot.glade ” fájlt használni, mint egy alapértelmezett GUI a program.
  4. építő.connect_signals(Handler()): ez a vonal összeköti a .glade fájlt a kezelő osztály, úgy, hogy a műveletek és jelek, hogy mi határozza meg a “kezelő” osztály jól működik, amikor futtatjuk a programot.
  5. ournewbutton = builder.get_object (“button1″): most importáljuk a” button1 ” objektumot a .glade fájlt, azt is átadjuk a “ournewbutton” globális változónak, hogy később felhasználhassuk a programunkban.
  6. új gombunk.set_label (“Helló, világ!”): A ” készletet használtuk.címke ” módszer az alapértelmezett gomb szövegének a “Hello, világ!”mondat.
  7. window = builder.get_object (“window1″): itt az úgynevezett” window1 ” objektumot a .glade fájlt annak érdekében, hogy később megjelenjen a programban.

és ennyi! Sikeresen létrehozta első programját Linux alatt!

természetesen sokkal bonyolultabb tennivalók vannak egy valódi alkalmazás létrehozásához, amely csinál valamit, ezért azt javaslom, hogy vessen egy pillantást a GTK + dokumentációjára és a GObject API-ra:

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.