Unda Programu Zaidi za Advance GUI Kwa Kutumia Zana ya PyGobject kwenye Linux - Sehemu ya 2


Tunaendeleza mfululizo wetu kuhusu kuunda programu za GUI chini ya eneo-kazi la Linux kwa kutumia PyGObject, Hii ni sehemu ya pili ya mfululizo na leo tutazungumza kuhusu kuunda programu zinazofanya kazi zaidi kwa kutumia wijeti kadhaa za kina.

  1. Unda Programu za GUI Chini ya Linux Ukitumia PyGObject - Sehemu ya 1

Katika makala iliyotangulia tulisema kwamba kuna njia mbili za kuunda programu za GUI kwa kutumia PyGObject: njia ya pekee na Glade njia ya kubuni. , lakini kuanzia sasa na kuendelea, tutakuwa tukielezea Glade njia ya mbunifu kwa vile ni rahisi zaidi kwa watumiaji wengi, unaweza kujifunza njia ya msimbo pekee ukitumia python-gtk3-tutorial.

Kuunda Programu za Advance GUI katika Linux

1. Hebu tuanze programu! Fungua mtengenezaji wako wa Glade kutoka kwenye menyu ya programu.

2. Bofya kitufe cha \Dirisha” kwenye utepe wa kushoto ili kuunda mpya.

3. Bofya kwenye \Sanduku wijeti na uiachie kwenye dirisha tupu.

4. Utaulizwa kuingiza nambari ya masanduku unayotaka, ifanye 3.

Na utaona kwamba sanduku zimeundwa, visanduku hivyo ni muhimu kwetu ili kuweza kuongeza zaidi ya wijeti 1 kwenye dirisha.

5. Sasa bofya kwenye sanduku wijeti, na ubadilishe aina ya mwelekeo kutoka wima hadi mlalo.

6. Ili kuunda programu rahisi, ongeza \Ingizo la Maandishi, \Nakala ya Kisanduku cha Mchanganyiko na \Kitufe ” vilivyoandikwa kwa kila moja ya visanduku, unapaswa kuwa na kitu kama hiki.

7. Sasa bofya kwenye \wijeti1 kutoka utepe wa kulia, na ubadilishe mkao wake hadi \Kituo.

Tembeza chini hadi sehemu ya \Mwonekano.. Na uongeze kichwa cha dirisha Programu Yangu.

8. Unaweza pia kuchagua ikoni ya dirisha kwa kubofya kisanduku cha \Ikoni ya Jina.

9. Unaweza pia kubadilisha urefu na upana chaguomsingi wa programu.. Baada ya hayo yote, unapaswa kuwa na kitu kama hiki.

Katika programu yoyote, moja ya jambo muhimu zaidi ni kuunda \Kuhusu dirisha, kufanya hivi, kwanza itabidi tubadilishe kitufe cha kawaida tulichounda hapo awali kuwa kitufe cha hisa, angalia. kwenye picha.

10. Sasa, itatubidi kurekebisha baadhi ya ishara ili kutekeleza vitendo maalum tukio lolote linapotokea kwenye wijeti zetu. Bofya wijeti ya ingizo la maandishi, badili hadi kichupo cha \Ishara katika utepe wa kulia, tafuta \iliyoamilishwa na ubadilishe yake. kidhibiti kwa \enter_button_clicked”, ishara \iliyoamilishwa ni mawimbi chaguomsingi ambayo hutumwa wakati kitufe cha \Ingiza kinapogongwa. huku ukizingatia wijeti ya kuingiza maandishi.

Itabidi tuongeze kidhibiti kingine cha ishara \iliyobofya kwa wijeti yetu ya kuhusu kitufe, bofya juu yake na ubadilishe mawimbi \iliyobofya kuwa \< b>kifungo_kimebofya“.

11. Nenda kwenye kichupo cha \Kawaida” na uweke alama kwenye \Ina Umakini” kama inavyofuata (Ili kutoa kipaumbele chaguomsingi cha kitufe cha kuhusu badala ya ingizo) .

12. Sasa kutoka kwa utepe wa kushoto, unda dirisha jipya la \Kuhusu Maongezi.

Na utaona kwamba dirisha la \Kuhusu Maongezi limeundwa.

Hebu tuirekebishe.. Hakikisha kuwa umeiwekea mipangilio ifuatayo kutoka utepe wa kulia.

Baada ya kufanya mipangilio hapo juu, utapata kufuata kuhusu Dirisha.

Katika dirisha hapo juu, utaona nafasi tupu, lakini unaweza kuiondoa kwa kukataa idadi ya masanduku kutoka 3 hadi 2 au unaweza kuongeza wijeti yoyote ikiwa unataka.

13. Sasa hifadhi faili kwenye folda yako ya nyumbani kwa jina \ui.glade” na ufungue kihariri maandishi na uweke msimbo ufuatao ndani yake.

#!/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

Hifadhi faili katika saraka yako ya nyumbani chini ya jina hilo \myprogram.py, na uipe ruhusa ya kutekeleza na iendeshe.

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

Ingiza maandishi kwenye kisanduku cha kuingiza, gonga kitufe cha \Ingiza kwenye kibodi, na utaona kwamba sentensi imechapishwa kwenye shell.

Ni hayo tu kwa sasa, sio programu tumizi kamili, lakini nilitaka tu kukuonyesha jinsi ya kuunganisha vitu pamoja kwa kutumia PyGObject, unaweza kuangalia mbinu zote za wijeti zote za GTK kwenye gtkobjects.

Jifunze tu mbinu, unda wijeti ukitumia Glade, na uunganishe mawimbi kwa kutumia faili ya Python, Hiyo tu! Sio ngumu hata kidogo rafiki yangu.

Tutaeleza mambo mapya zaidi kuhusu PyGObject katika sehemu zinazofuata za mfululizo, hadi wakati huo endelea kusasishwa na usisahau kutupa maoni yako kuhusu makala hiyo.