Weboldal keresés

Hozzon létre több fejlett grafikus felhasználói felületet a PyGobject Tool segítségével Linux alatt – 2. rész


Folytatjuk a GUI-alkalmazások Linux asztalon a PyGObject segítségével történő létrehozásáról szóló sorozatunkat. Ez a sorozat második része, és ma több funkcionális alkalmazás létrehozásáról fogunk beszélni néhány fejlett widget segítségével.

Követelmények

  1. GUI-alkalmazások létrehozása Linux alatt PyGObject segítségével – 1. rész

Az előző cikkben azt mondtuk, hogy a PyGObject használatával GUI-alkalmazások létrehozásának két módja van: a csak kódmód és a Glade tervezői módszer. , de ezentúl csak a Glade tervezői módszert magyarázzuk el, mivel a legtöbb felhasználó számára sokkal egyszerűbb, a python-gtk3-oktatóanyag segítségével egyedül is megtanulhatja a csak kódot.

Advance GUI alkalmazások létrehozása Linuxban

1. Kezdjük a programozást! Nyissa meg a Glade tervezőt az alkalmazások menüből.

2. Kattintson az „Ablak ” gombra a bal oldalsávon új ablak létrehozásához.

3. Kattintson a „Box ” widgetre, és engedje el az üres ablakban.

4. A rendszer kéri, hogy adja meg a kívánt mezők számát, legyen 3.

És látni fogja, hogy a dobozok létrejöttek. Ezek a dobozok fontosak számunkra, hogy több mint 1 widgetet tudjunk hozzáadni egy ablakhoz.

5. Most kattintson a doboz widgetre, és módosítsa a tájolás típusát függőlegesről vízszintesre.

6. Egy egyszerű program létrehozásához adjon hozzá egy „Szövegbevitelt”, „Kombinált szöveg” és egy „gombot” ” widgeteket minden egyes dobozhoz, valami ehhez hasonló kell.

7. Most kattintson a „ablak1” widgetre a jobb oldalsávon, és módosítsa a helyzetét „Center”-re.

Görgessen le a „Megjelenés” részhez. És adjon címet a „Saját program” ablakhoz.

8. Az „Ikon neve” mezőre kattintva ikont is választhat az ablakhoz.

9. Módosíthatja az alkalmazás alapértelmezett magasságát és szélességét is. Mindezek után valami ilyesmivel kell rendelkeznie.

Bármely programban az egyik legfontosabb dolog egy „Névjegy ” ablak létrehozása, ehhez először a korábban létrehozott normál gombot készletgombra kell változtatnunk, nézd meg a kép.

10. Most módosítanunk kell néhány jelzést, hogy konkrét műveleteket hajthassunk végre, ha bármilyen esemény történik a moduljainkon. Kattintson a szövegbeviteli widgetre, váltson át a „Jelek” fülre a jobb oldalsávon, keresse meg az „aktiválva” kifejezést, és módosítsa a kezelőjét erre. Az „enter_button_clicked”, az „aktivált” jel az alapértelmezett jel, amely akkor érkezik, ha az „Enter” billentyűt lenyomja, miközben a szövegre fókuszál. bejegyzés widget.

Hozzá kell adnunk egy másik kezelőt a „clicked ” jelhez az About gomb widgethez, kattintsunk rá, és módosítsuk a „clicked” jelet „button_is_clicked”-re “.

11. Lépjen a „Közös” fülre, és jelölje be a „Fókusz van” elemet az alábbiak szerint (a névjegy gomb alapértelmezett fókuszának megadásához bejegyzés helyett).

12. Most a bal oldalsávon hozzon létre egy új „A párbeszédpanel névjegye” ablakot.

És észre fogja venni, hogy létrejön a „Névjegy párbeszédpanel” ablak.

Módosítsuk.. Győződjön meg arról, hogy a jobb oldalsávról beilleszti a következő beállításokat.

A fenti beállítások elvégzése után a következő információkat kaphatja meg az ablakról.

A fenti ablakban észreveszi az üres helyet, de eltávolíthatja a dobozok számának 3-ról 2-re csökkentésével, vagy tetszőleges widgetet hozzáadhat hozzá.

13. Most mentse a fájlt a saját mappájába „ui.glade” néven, és nyissa meg a szövegszerkesztőt, és írja be a következő kódot.


#!/usr/bin/python
-*- coding: utf-8 -*-

from gi.repository import Gtk
class Handler:

    def button_is_clicked(self, button):
        ## The ".run()" method is used to launch the about window.
         ouraboutwindow.run()
        ## This is just a workaround to enable closing the about window.
         ouraboutwindow.hide()

    def enter_button_clicked(self, button):
        ## The ".get_text()" method is used to grab the text from the entry box. The "get_active_text()" method is used to get the selected item from the Combo Box Text widget, here, we merged both texts together".
         print ourentry.get_text() + ourcomboboxtext.get_active_text()

## Nothing new here.. We just imported the 'ui.glade' file.
builder = Gtk.Builder()
builder.add_from_file("ui.glade")
builder.connect_signals(Handler())

ournewbutton = builder.get_object("button1")

window = builder.get_object("window1")

## Here we imported the Combo Box widget in order to add some change on it.
ourcomboboxtext = builder.get_object("comboboxtext1")

## Here we defined a list called 'default_text' which will contain all the possible items in the Combo Box Text widget.
default_text = [" World ", " Earth ", " All "]

## This is a for loop that adds every single item of the 'default_text' list to the Combo Box Text widget using the '.append_text()' method.
for x in default_text:
  ourcomboboxtext.append_text(x)

## The '.set.active(n)' method is used to set the default item in the Combo Box Text widget, while n = the index of that item.
ourcomboboxtext.set_active(0)
ourentry = builder.get_object("entry1")

## This line doesn't need an explanation :D
ourentry.set_max_length(15)

## Nor this do.
ourentry.set_placeholder_text("Enter A Text Here..")

## We just imported the about window here to the 'ouraboutwindow' global variable.
ouraboutwindow = builder.get_object("aboutdialog1")

## Give that developer a cookie !
window.connect("delete-event", Gtk.main_quit)
window.show_all()
Gtk.main

Mentse el a fájlt a saját könyvtárába „myprogram.py ” néven, és adja meg a végrehajtási engedélyt, és futtassa.

chmod 755 myprogram.py
./myprogram.py
This is what you will get, after running above script.

Írjon be egy szöveget a beviteli mezőbe, nyomja meg az „Enter ” billentyűt a billentyűzeten, és észre fogja venni, hogy a mondat a héjra van nyomtatva.

Egyelőre ennyi, ez nem egy teljes alkalmazás, de csak azt szerettem volna megmutatni, hogyan lehet a dolgokat összekapcsolni a PyGObject segítségével. Az összes GTK widget összes metódusát megtekintheti itt: gtkobjects.

Csak tanulja meg a módszereket, hozza létre a widgeteket a Glade segítségével, és kösse össze a jeleket a Python-fájl segítségével. Ennyi! Egyáltalán nem nehéz barátom.

A sorozat következő részeiben további újdonságokat fogunk elmagyarázni a PyGObject-ről, addig is maradjon naprakész, és ne felejtse el megosztani velünk észrevételeit a cikkel kapcsolatban.