Looge Linuxis PyGobjecti tööriista abil täiendavaid GUI-rakendusi - 2. osa


Jätkame oma seeriat GUI-rakenduste loomiseks Linuxi töölaua all, kasutades rakendust PyGObject . See on seeria teine osa ja täna räägime funktsionaalsemate rakenduste loomisest mõne täiustatud vidina abil.

  1. GUI-rakenduste loomine Linuxi abil PyGObjecti abil - 1. osa

Eelmises artiklis ütlesime, et PyGObject i abil saab GUI-rakendusi luua kahel viisil: ainult koodiga viis ja Glade disaineri viis , kuid nüüdsest selgitame ainult kujundaja Glade viisi, kuna enamiku kasutajate jaoks on see palju lihtsam, saate õppida ainult koodi sisestamise viisi, kasutades python-gtk3-tutorial.

Eelnevate GUI-rakenduste loomine Linuxis

1. Alustame programmeerimist! Avage rakenduste menüüst oma disainer Glade .

2. Uue loomiseks klõpsake vasakul külgribal nuppu\" Aken ".

3. Klõpsake vidinal\" Kast " ja vabastage see tühjal aknal.

4. Teil palutakse sisestada soovitud kastide arv, tehke see väärtuseks 3 .

Ja näete, et kastid on loodud, on need kastid meie jaoks olulised, et saaksime aknasse lisada rohkem kui lihtsalt vidina 1 .

5. Nüüd klõpsake vidinal kast ja muutke orientatsiooni tüüp vertikaalseks asendiks horisontaalseks .

6. Lihtsa programmi loomiseks lisage\" tekstisisestus ",\" liitkasti tekst " ja\" nupp ”Iga kasti vidinaid, peaks teil olema midagi sellist.

7. Nüüd klõpsake paremal külgribal vidinal\" window1 " ja muutke selle asendiks\" Center ".

Kerige alla jaotiseni\" Välimus ". Ja lisage akna „ Minu programm “ pealkiri.

8. Akna jaoks saate valida ka ikooni , klõpsates kastil\" Ikooni nimi ".

9. Saate muuta ka rakenduse vaikimisi kõrgust ja laiust . Pärast seda peaks teil olema midagi sellist.

Igas programmis on üks kõige olulisem luua\" About " aken, selleks peame kõigepealt muutma tavapärase nupu, mille me varem lõime, aktsia nupuks, vaata pildi juures.

10. Nüüd peame mõningaid signaale muutma, et käivitada konkreetseid toiminguid, kui meie vidinates toimub mõni sündmus. Klõpsake vidinal tekstisisestus , lülitage paremas külgribal vahekaardile\" Signaalid ", otsige\" aktiveeritud " ja muutke selle käitleja\" enter_button_clicked ", on\" aktiveeritud " signaal vaikesignaal, mis saadetakse klahvi\" Enter" vajutamisel keskendudes teksti sisestamise vidinale.

Peame lisama veel ühe käitleja signaali\" klõpsatud " jaoks nupu vidina kohta, klõpsama seda ja muutma signaali\" klõpsatud " väärtuseks\"< b> nupp_klõpsatakse “.

11. Minge vahekaardile\" Tavaline " ja märkige\" Kas fookus " järgmiselt (sisestuse asemel nupule umbes vaikefookuse määramiseks) .

12. Looge nüüd vasakult külgribalt uus\" Teave dialoogi kohta " aken.

Ja märkate, et on loodud\" Teave dialoogi kohta " aken.

Muutkem seda. Veenduge, et sisestate selle paremale küljeribale järgmised seaded.

Pärast ülaltoodud seadete tegemist saate Windowsi kohta järgmist.

Ülalolevas aknas märkate tühja ruumi, kuid võite selle eemaldada, kui langetate kastide arvu 3-lt kahele või võite soovi korral lisada sellele mis tahes vidina.

13. Nüüd salvestage fail oma kodukataloogi nimega\" ui.glade ", avage tekstiredaktor ja sisestage selle sisse järgmine kood.

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

Salvestage fail oma kodukataloogi selle nime\" myprogram.py " alla ja andke sellele käivitamisluba ning käivitage see.

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

Sisestage sisestuskasti tekst, vajutage klaviatuuril klahvi\" Sisesta " ja märkate, et lause on kestale trükitud.

Praegu on see kõik, see pole täielik rakendus, kuid ma tahtsin teile lihtsalt näidata, kuidas asju PyGObject abil linkida, saate kõigi GTK vidinate kõiki meetodeid vaadata aadressil gtkobjects.

Lihtsalt õppige meetodeid, looge Glade abil vidinad ja ühendage signaalid Pythoni faili abil, see on kõik! See pole üldse mu sõber raske.

Selgitame PyGObjecti kohta rohkem uusi seeria järgmistes osades, hoia end seni ajakohasena ja ärge unustage meile oma artikli kohta oma kommentaare anda.