ലിനക്സിൽ PyGobject ടൂൾ ഉപയോഗിച്ച് കൂടുതൽ അഡ്വാൻസ് GUI ആപ്ലിക്കേഷനുകൾ സൃഷ്ടിക്കുക - ഭാഗം 2


PyGObject ഉപയോഗിച്ച് Linux ഡെസ്uക്uടോപ്പിന് കീഴിൽ GUI ആപ്ലിക്കേഷനുകൾ സൃഷ്uടിക്കുന്നതിനെക്കുറിച്ചുള്ള ഞങ്ങളുടെ പരമ്പര ഞങ്ങൾ തുടരുന്നു, ഇത് സീരീസിന്റെ രണ്ടാം ഭാഗമാണ്, ചില നൂതന വിജറ്റുകൾ ഉപയോഗിച്ച് കൂടുതൽ പ്രവർത്തനക്ഷമമായ ആപ്ലിക്കേഷനുകൾ സൃഷ്uടിക്കുന്നതിനെ കുറിച്ച് ഇന്ന് ഞങ്ങൾ സംസാരിക്കും.

  1. PyGObject ഉപയോഗിച്ച് Linux-ന് കീഴിൽ GUI ആപ്ലിക്കേഷനുകൾ സൃഷ്ടിക്കുക - ഭാഗം 1

PyGObject ഉപയോഗിച്ച് GUI ആപ്ലിക്കേഷനുകൾ സൃഷ്ടിക്കുന്നതിന് രണ്ട് വഴികളുണ്ടെന്ന് മുൻ ലേഖനത്തിൽ ഞങ്ങൾ പറഞ്ഞു: കോഡ്-ഒൺലി-വേ, Glade ഡിസൈനർ വഴി , എന്നാൽ ഇനി മുതൽ, ഞങ്ങൾ Glade ഡിസൈനർ വഴി മാത്രമേ വിശദീകരിക്കുകയുള്ളൂ, കാരണം മിക്ക ഉപയോക്താക്കൾക്കും ഇത് വളരെ എളുപ്പമാണ്, python-gtk3-tutorial ഉപയോഗിച്ച് നിങ്ങൾക്ക് സ്വയം കോഡ്-ഒൺലി-വേ പഠിക്കാനാകും.

ലിനക്സിൽ അഡ്വാൻസ് ജിയുഐ ആപ്ലിക്കേഷനുകൾ സൃഷ്ടിക്കുന്നു

1. നമുക്ക് പ്രോഗ്രാമിംഗ് ആരംഭിക്കാം! ആപ്ലിക്കേഷനുകളുടെ മെനുവിൽ നിന്ന് നിങ്ങളുടെ Glade ഡിസൈനർ തുറക്കുക.

2. പുതിയൊരെണ്ണം സൃഷ്uടിക്കുന്നതിന് ഇടതുവശത്തെ സൈഡ്uബാറിലെ \വിൻഡോ ബട്ടണിൽ ക്ലിക്ക് ചെയ്യുക.

3. \Box വിജറ്റിൽ ക്ലിക്ക് ചെയ്ത് ശൂന്യമായ വിൻഡോയിൽ വിടുക.

4. നിങ്ങൾക്ക് ആവശ്യമുള്ള ബോക്സുകളുടെ എണ്ണം നൽകാൻ നിങ്ങളോട് ആവശ്യപ്പെടും, അത് 3 ആക്കുക.

കൂടാതെ, ബോക്സുകൾ സൃഷ്ടിക്കപ്പെട്ടതായി നിങ്ങൾ കാണും, ഒരു വിൻഡോയിൽ 1 വിജറ്റിനേക്കാൾ കൂടുതൽ ചേർക്കാൻ ആ ബോക്സുകൾ ഞങ്ങൾക്ക് പ്രധാനമാണ്.

5. ഇപ്പോൾ ബോക്uസ് വിജറ്റിൽ ക്ലിക്ക് ചെയ്യുക, ഓറിയന്റേഷൻ തരം ലംബമായി നിന്ന് തിരശ്ചീനമായി മാറ്റുക.

6. ഒരു ലളിതമായ പ്രോഗ്രാം സൃഷ്uടിക്കുന്നതിന്, ഒരു \ടെക്uസ്റ്റ് എൻട്രി, \കോംബോ ബോക്uസ് ടെക്uസ്uറ്റ്, ഒരു \ബട്ടൺ എന്നിവ ചേർക്കുക ” ഓരോ ബോക്സുകൾക്കുമുള്ള വിജറ്റുകൾ, നിങ്ങൾക്ക് ഇതുപോലെ എന്തെങ്കിലും ഉണ്ടായിരിക്കണം.

7. ഇപ്പോൾ വലത് സൈഡ്uബാറിൽ നിന്ന് \window1 വിജറ്റിൽ ക്ലിക്ക് ചെയ്യുക, തുടർന്ന് അതിന്റെ സ്ഥാനം \Center എന്നതിലേക്ക് മാറ്റുക.

\രൂപം വിഭാഗത്തിലേക്ക് താഴേക്ക് സ്ക്രോൾ ചെയ്യുക.. കൂടാതെ എന്റെ പ്രോഗ്രാം വിൻഡോയ്ക്ക് ഒരു ശീർഷകം ചേർക്കുക.

8. \ഐക്കൺ നെയിം ബോക്സിൽ ക്ലിക്ക് ചെയ്ത് നിങ്ങൾക്ക് വിൻഡോയ്ക്കായി ഒരു ഐക്കൺ തിരഞ്ഞെടുക്കാം.

9. ആപ്ലിക്കേഷന്റെ ഡിഫോൾട്ട് ഉയരം & വീതി എന്നിവയും നിങ്ങൾക്ക് മാറ്റാവുന്നതാണ്.. എല്ലാത്തിനുമുപരി, നിങ്ങൾക്ക് ഇതുപോലൊന്ന് ഉണ്ടായിരിക്കണം.

ഏതൊരു പ്രോഗ്രാമിലും, ഒരു \About വിൻഡോ സൃഷ്ടിക്കുക എന്നതാണ് ഏറ്റവും പ്രധാനപ്പെട്ട ഒരു കാര്യം, ഇത് ചെയ്യുന്നതിന്, ആദ്യം നമ്മൾ മുമ്പ് സൃഷ്ടിച്ച സാധാരണ ബട്ടൺ ഒരു സ്റ്റോക്ക് ബട്ടണാക്കി മാറ്റണം, നോക്കൂ ചിത്രത്തിൽ.

10. ഇപ്പോൾ, ഞങ്ങളുടെ വിജറ്റുകളിൽ എന്തെങ്കിലും ഇവന്റ് സംഭവിക്കുമ്പോൾ നിർദ്ദിഷ്ട പ്രവർത്തനങ്ങൾ പ്രവർത്തിപ്പിക്കുന്നതിന് ഞങ്ങൾ ചില സിഗ്നലുകൾ പരിഷ്കരിക്കേണ്ടതുണ്ട്. ടെക്uസ്റ്റ് എൻട്രി വിജറ്റിൽ ക്ലിക്ക് ചെയ്യുക, വലത് സൈഡ്uബാറിലെ \സിഗ്നലുകൾ ടാബിലേക്ക് മാറുക, \സജീവമാക്കി എന്നതിനായി തിരഞ്ഞ് അത് മാറ്റുക \enter_button_clicked എന്നതിലേക്കുള്ള ഹാൻഡ്uലർ, \Enter കീ അമർത്തുമ്പോൾ അയയ്uക്കുന്ന സ്ഥിരസ്ഥിതി സിഗ്നലാണ് \സജീവമാക്കിയ സിഗ്നൽ. ടെക്സ്റ്റ് എൻട്രി വിജറ്റിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുമ്പോൾ.

ഞങ്ങളുടെ എബൗട്ട് ബട്ടൺ വിജറ്റിനായി \ക്ലിക്ക് ചെയ്uത സിഗ്നലിനായി മറ്റൊരു ഹാൻഡ്uലർ ചേർക്കേണ്ടതുണ്ട്, അതിൽ ക്ലിക്ക് ചെയ്ത് \ക്ലിക്ക് ചെയ്ത സിഗ്നൽ \< എന്നതിലേക്ക് മാറ്റുക. b>button_is_clicked“.

11. \പൊതുവായ ടാബിലേക്ക് പോയി \ഫോക്കസ് ഉണ്ട് എന്ന് അടയാളപ്പെടുത്തുക (എൻട്രിക്ക് പകരം എബൗട്ട് ബട്ടണിന് ഡിഫോൾട്ട് ഫോക്കസ് നൽകാൻ) .

12. ഇപ്പോൾ ഇടത് സൈഡ്ബാറിൽ നിന്ന്, ഒരു പുതിയ \ഡയലോഗിനെ കുറിച്ച് വിൻഡോ സൃഷ്ടിക്കുക.

കൂടാതെ \ഡയലോഗിനെ കുറിച്ച് എന്ന ജാലകം സൃഷ്ടിച്ചിരിക്കുന്നത് നിങ്ങൾ ശ്രദ്ധിക്കും.

നമുക്ക് അത് പരിഷ്uക്കരിക്കാം.. വലത് സൈഡ്uബാറിൽ നിന്ന് അതിനായി ഇനിപ്പറയുന്ന ക്രമീകരണങ്ങൾ ചേർത്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.

മുകളിലുള്ള ക്രമീകരണങ്ങൾ ചെയ്ത ശേഷം, നിങ്ങൾക്ക് വിൻഡോയെക്കുറിച്ച് ഇനിപ്പറയുന്നവ ലഭിക്കും.

മുകളിലെ വിൻഡോയിൽ, നിങ്ങൾ ശൂന്യമായ ഇടം കാണും, എന്നാൽ 3 മുതൽ 2 വരെയുള്ള ബോക്സുകളുടെ എണ്ണം കുറച്ചുകൊണ്ട് നിങ്ങൾക്ക് അത് നീക്കംചെയ്യാം അല്ലെങ്കിൽ നിങ്ങൾക്ക് വേണമെങ്കിൽ ഏതെങ്കിലും വിജറ്റ് അതിൽ ചേർക്കാം.

13. ഇപ്പോൾ നിങ്ങളുടെ ഹോം ഫോൾഡറിൽ \ui.glade എന്ന പേരിൽ ഫയൽ സേവ് ചെയ്ത് ഒരു ടെക്സ്റ്റ് എഡിറ്റർ തുറന്ന് അതിനുള്ളിൽ ഇനിപ്പറയുന്ന കോഡ് നൽകുക.

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

\myprogram.py എന്ന പേരിൽ ഫയൽ നിങ്ങളുടെ ഹോം ഡയറക്uടറിയിൽ സേവ് ചെയ്uത് അതിന് എക്uസിക്യൂട്ട് പെർമിഷൻ നൽകി റൺ ചെയ്യുക.

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

എൻട്രി ബോക്സിൽ ഒരു വാചകം നൽകുക, കീബോർഡിലെ \Enter കീ അമർത്തുക, വാക്യം ഷെല്ലിൽ അച്ചടിച്ചിരിക്കുന്നത് നിങ്ങൾ ശ്രദ്ധിക്കും.

തൽക്കാലം അത്രയേയുള്ളൂ, ഇതൊരു സമ്പൂർണ്ണ ആപ്ലിക്കേഷനല്ല, എന്നാൽ PyGObject ഉപയോഗിച്ച് കാര്യങ്ങൾ എങ്ങനെ ഒരുമിച്ച് ലിങ്ക് ചെയ്യാമെന്ന് നിങ്ങളെ കാണിക്കാൻ ഞാൻ ആഗ്രഹിക്കുന്നു, എല്ലാ GTK വിജറ്റുകൾക്കുമുള്ള എല്ലാ രീതികളും നിങ്ങൾക്ക് ഇവിടെ കാണാൻ കഴിയും gtkobjects.

രീതികൾ പഠിക്കുക, Glade ഉപയോഗിച്ച് വിജറ്റുകൾ സൃഷ്ടിക്കുക, പൈത്തൺ ഫയൽ ഉപയോഗിച്ച് സിഗ്നലുകൾ ബന്ധിപ്പിക്കുക, അത്രമാത്രം! ഇത് ഒട്ടും ബുദ്ധിമുട്ടുള്ള കാര്യമല്ല സുഹൃത്തേ.

പരമ്പരയുടെ അടുത്ത ഭാഗങ്ങളിൽ PyGObject-നെ കുറിച്ചുള്ള കൂടുതൽ പുതിയ കാര്യങ്ങൾ ഞങ്ങൾ വിശദീകരിക്കും, അതുവരെ അപ്ഡേറ്റ് ആയി തുടരുക, ലേഖനത്തെക്കുറിച്ചുള്ള നിങ്ങളുടെ അഭിപ്രായങ്ങൾ ഞങ്ങൾക്ക് നൽകാൻ മറക്കരുത്.