Izveidojiet vairāk iepriekšēju GUI lietojumprogrammu, izmantojot Linux PyGobject rīku - 2. daļa


Mēs turpinām sēriju par GUI lietojumprogrammu izveidi Linux darbvirsmā, izmantojot PyGObject . Šī ir sērijas otrā daļa, un šodien mēs runāsim par funkcionālāku lietojumprogrammu izveidi, izmantojot dažus uzlabotus logrīkus.

  1. Izveidojiet GUI lietojumprogrammas operētājsistēmā Linux, izmantojot PyGObject - 1. daļa

Iepriekšējā rakstā mēs teicām, ka GUI lietojumprogrammu izveidei, izmantojot PyGObject , ir divi veidi: tikai kodu kods un Glade dizainera veids , bet no šī brīža mēs izskaidrosim tikai dizaina veidlapu Glade , jo lielākajai daļai lietotāju tas ir daudz vieglāk. Tikai kodu varat apgūt pats, izmantojot python-gtk3-tutorial.

Iepriekšēju GUI lietojumprogrammu izveide Linux

1. Sāksim programmēt! Lietojumprogrammu izvēlnē atveriet savu dizaineri Glade .

2. Lai izveidotu jaunu, kreisajā sānjoslā noklikšķiniet uz pogas Logs .

3. Noklikšķiniet uz logrīka lodziņš un atlaidiet to tukšajā logā.

4. Jums tiks piedāvāts ievadīt vēlamo lodziņu skaitu, padarot to par 3 .

Jūs redzēsiet, ka rūtiņas ir izveidotas, šīs rūtiņas mums ir svarīgas, lai logā varētu pievienot ne tikai logrīku 1 .

5. Tagad noklikšķiniet uz logrīka lodziņš un mainiet orientācijas veidu no vertikāla uz horizontālu .

6. Lai izveidotu vienkāršu programmu, pievienojiet “ Teksta ievade ”, “ Kombinētā lodziņa teksts ” un “ Poga ” logrīkus katrā no kastēm jums vajadzētu būt kaut kam līdzīgam.

7. Tagad labajā sānjoslā noklikšķiniet uz logrīka “window1” un mainiet tā pozīciju uz “ Centrs ”.

Ritiniet uz leju līdz sadaļai Izskats un pievienojiet logam Mana programma nosaukumu.

8. Logam varat izvēlēties arī ikonu , noklikšķinot uz lodziņa Ikonas nosaukums .

9. Varat arī mainīt lietojumprogrammas noklusējuma augstumu un platumu . Pēc visa tā jums vajadzētu būt kaut kam līdzīgam.

Jebkurā programmā viena no vissvarīgākajām lietām ir izveidot logu “Par ”, lai to izdarītu, vispirms mums būs jāmaina parastā iepriekš izveidotā poga par akciju pogu, apskatiet bilde.

10. Tagad mums būs jāpārveido daži signāli, lai veiktu īpašas darbības, kad kāds notikums notiek mūsu logrīkos. Noklikšķiniet uz logrīka teksta ievade , labajā sānjoslā pārslēdzieties uz cilni Signāli , meklējiet “ aktivizēts ” un nomainiet tā apstrādātāju uz “ enter_button_clicked ”, signāls “aktivizēts ” ir noklusējuma signāls, kas tiek nosūtīts, nospiežot taustiņu “Enter” , koncentrējoties uz tekstu ieraksta logrīks.

Mums būs jāpievieno vēl viens apstrādātājs signālam “noklikšķināts ” mūsu pogas logrīkam, noklikšķiniet uz tā un nomainiet signālu “noklikšķinājis uz“ poga_ ir_ noklikšķināta ”. “.

11. Atveriet cilni “Bieži un atzīmējiet“ Ir fokuss ”šādi (lai ieraksta vietā pogai“ Par ”piešķirtu noklusējuma fokusu).

12. Tagad no kreisās sānjoslas izveidojiet jaunu logu “Par dialoglodziņu ”.

Jūs ievērosiet, ka ir izveidots logs “Par dialoglodziņu ”.

Pārveidosim to. Pārliecinieties, vai labajā sānjoslā esat ievietojis šādus iestatījumus.

Pēc iepriekšminēto iestatījumu veikšanas jūs saņemsiet sekojošu informāciju par Window

Iepriekš minētajā logā jūs pamanīsit tukšo vietu, taču to var noņemt, samazinot lodziņu skaitu no 3 līdz 2 vai arī, ja vēlaties, varat tam pievienot jebkuru logrīku.

13. Tagad saglabājiet failu mājas mapē ar nosaukumu “ ui.glade ”, atveriet teksta redaktoru un tajā ievadiet šādu kodu.

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

Saglabājiet failu mājas direktorijā ar nosaukumu “ myprogram.py ” un dodiet tam izpildes atļauju un palaidiet to.

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

Ievadiet tekstu ievades lodziņā, nospiediet tastatūras taustiņu “Enter” un pamanīsit, ka teikums ir iespiests čaulā.

Pagaidām tas ir viss, tā nav pilnīga lietojumprogramma, bet es tikai gribēju jums parādīt, kā sasaistīt lietas kopā, izmantojot PyGObject , visas metodes varat apskatīt visiem GTK logrīkiem gtkobjects.

Vienkārši iemācieties metodes, izveidojiet logrīkus, izmantojot Glade , un savienojiet signālus, izmantojot Python failu, tas ir viss! Tas nemaz nav grūti, mans draugs.

Nākamajās sērijas daļās mēs izskaidrosim vairāk jaunu lietu par PyGObject, līdz tam palieciet atjaunināts un neaizmirstiet sniegt mums savus komentārus par rakstu.