Linux-da PyGobject Tool ulanyp has köp GUI programmalaryny dörediň - 2-nji bölüm


Linux iş stolunyň aşagynda PyGObject ulanyp, GUI programmalaryny döretmek baradaky seriýamyzy dowam etdirýäris, bu seriýanyň ikinji bölümi we bu gün käbir ösen widjetleri ulanyp has amatly programmalary döretmek barada gürleşeris.

  1. PyGObject ulanyp Linux-yň aşagynda GUI programmalaryny dörediň - 1-nji bölüm

Öňki makalamyzda PyGObject ulanyp, GUI programmalaryny döretmegiň iki ýolunyň bardygyny aýdypdyk: diňe kodly ýol we Glade dizaýner usuly , ýöne mundan beýläk diňe Glade dizaýner usulyny düşündireris, sebäbi ulanyjylaryň köpüsi üçin has aňsat, python-gtk3-tutorial ulanyp, diňe kod usulyny öwrenip bilersiňiz.

Linux-da Advance GUI programmalaryny döretmek

1. Geliň, programmirlemäge başlalyň! Programmalar menýusyndan Glade dizaýneriňizi açyň.

2. Täzesini döretmek üçin çep gapdaldaky\ penjire düwmesine basyň.

3.\ guty widjetine basyň we boş penjire goýberiň.

4. Islän gutularyňyzyň sanyny girizip, ony 3 edip bilersiňiz.

Şeýle hem, gutular döredilendigini görersiňiz, penjirede diňe 1 widjet goşup bilmek üçin şol gutular biziň üçin möhümdir.

5. Indi guty widjetine basyň we ugrukdyryş görnüşini dik dan keseligine üýtgediň.

6. simpleönekeý programma döretmek üçin\ Tekst ýazgysy ,\ Combo Box Text we\ düwmesi goşuň. Gutularyň her biri üçin gurallar, sizde şuňa meňzeş bir zat bolmaly.

7. Indi sag gapdaldan\ windows1 widjetine basyň we ýagdaýyny\ Merkez diýip üýtgediň.

\ Daş görnüşi bölümine aşak aýlaň .. We Meniň programmam penjiresine at goşuň.

8. Şeýle hem,\ nyşanlaryň ady gutusyna basyp, penjire üçin nyşany saýlap bilersiňiz.

9. Şeýle hem, programma üçin deslapky beýikligi & ini üýtgedip bilersiňiz .. Bularyň hemmesinden soň sizde şuňa meňzeş bir zat bolmaly.

Islendik programmada iň möhüm zatlaryň biri\ About penjiresini döretmekdir, muny etmek üçin ilki bilen adaty düwmäni aksiýa düwmesine üýtgetmeli, seret suratda.

10. Indi, widjetlerimizde haýsydyr bir waka ýüze çykanda anyk hereketleri amala aşyrmak üçin käbir signallary üýtgetmeli bolarys. tekst ýazgysy widjetine basyň, sag gapdalyndaky\ signallar goýmasyna geçiň,\ işjeňleşdirilen gözläň we üýtgediň\ enter_button_clicked ulanyjy,\ işjeňleşdirilen signaly\ Enter düwmesi basylanda iberilýän deslapky signaldyr. tekst giriş widjetine ünsi jemleýär.

Düwme widjetimiz hakda\ basylan signaly üçin başga bir işleýji goşmaly, oňa basmaly we\ basylan signalyny\ düwme_is_clicked “.

11.\ Umumy goýmasyna giriň we\ Fokus bar belligini aşakdaky ýaly belläň (Girişiň ýerine düwme hakda esasy ünsi bermek üçin) .

12. Indi çep gapdaldan täze\ Dialog hakda penjiresini dörediň.

We\ Dialog hakda penjiresiniň döredilendigini görersiňiz.

Geliň üýtgedeliň .. Sag gapdal panelden aşakdaky sazlamalary goýýandygyňyza göz ýetiriň.

Aboveokardaky sazlamalary düzeniňizden soň, Window hakda maglumat alarsyňyz.

Aboveokardaky penjirede boş ýeri görersiňiz, ýöne gutularyň sanyny 3-den 2-e çenli azaldyp, aýryp bilersiňiz ýa-da isleseňiz oňa islendik widjet goşup bilersiňiz.

13. Indi faýly öý bukjasyndaky\ ui.glade adynda ýazdyryň we tekst redaktoryny açyň we içindäki aşakdaky kody giriziň.

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

Faýly öý bukjasynda\ myprogram.py ady bilen ýazdyryň we ýerine ýetirmäge rugsat beriň we işlediň.

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

Giriş gutusyna tekst giriziň, klawiaturadaky\ Enter düwmesine basyň we sözlemiň gabykda çap edilendigini görersiňiz.

Häzirlikçe bu doly programma däl, ýöne men size PyGObject ulanyp, zatlary nädip baglanyşdyrmalydygyny görkezmek isledim, ähli GTK widjetleriniň ähli usullaryny görüp bilersiňiz gtkobjects.

Diňe usullary öwreniň, Glade ulanyp, widjetleri dörediň we Python faýly arkaly signallary birikdiriň, ine şeýle! Dostum asla kyn däl.

PyGObject hakda has täze zatlary seriýanyň indiki bölümlerinde düşündireris, tä tä tä tä tä tä tä tä tä tä tä tä tä tä tä tä tä tä tä tä tä täzeläň, tä makala täzeliklerini dowam etdireris we makala barada teswirleriňizi bermegi ýatdan çykarmaň.