ສ້າງໂປແກຼມ GUI ລ່ວງ ໜ້າ ເພີ່ມເຕີມໂດຍໃຊ້ເຄື່ອງມື PyGobject ໃນ Linux - ພາກທີ 2


ພວກເຮົາສືບຕໍ່ຊຸດຂອງພວກເຮົາກ່ຽວກັບການສ້າງໂປແກຼມ GUI ພາຍໃຕ້ Linux desktop ໂດຍໃຊ້ PyGObject , ນີ້ແມ່ນພາກທີສອງຂອງຊຸດແລະມື້ນີ້ພວກເຮົາຈະເວົ້າກ່ຽວກັບການສ້າງໂປແກຼມທີ່ມີປະໂຫຍດຫຼາຍຂື້ນໂດຍໃຊ້ບາງເຄື່ອງມືທີ່ກ້າວ ໜ້າ.

<

  • ສ້າງໂປແກຼມ GUI ພາຍໃຕ້ Linux ໂດຍໃຊ້ PyGObject - ພາກທີ 1
  • ໃນບົດຂຽນກ່ອນ ໜ້າ ນີ້ພວກເຮົາໄດ້ກ່າວວ່າມີສອງວິທີການ ສຳ ລັບການສ້າງໂປແກຼມ GUI ໂດຍໃຊ້ PyGObject : ວິທີການລະຫັດ - ພຽງແຕ່ ແລະວິທີການອອກແບບ Glade ແຕ່ໃນເວລານີ້, ພວກເຮົາພຽງແຕ່ຈະອະທິບາຍກ່ຽວກັບວິທີການອອກແບບ Glade ເນື່ອງຈາກວ່າມັນງ່າຍຂຶ້ນຫຼາຍ ສຳ ລັບຜູ້ໃຊ້ສ່ວນໃຫຍ່, ທ່ານສາມາດຮຽນຮູ້ລະຫັດແບບດຽວໂດຍຕົວທ່ານເອງໂດຍໃຊ້ python-gtk3-tutorial.

    ການສ້າງໂປແກຼມ GUI Advance ໃນ Linux

    1. ເລີ່ມຕົ້ນການຂຽນໂປຼແກຼມ! ເປີດຜູ້ອອກແບບ Glade ຂອງທ່ານຈາກເມນູສະ ໝັກ.

    2. ກົດປຸ່ມ“ ປ່ອງຢ້ຽມ ” ທີ່ຢູ່ແຖບດ້ານຊ້າຍມືເພື່ອສ້າງ ໃໝ່.

    3. ກົດປຸ່ມ " ກ່ອງ " ແລະປ່ອຍມັນໃສ່ ໜ້າ ຕ່າງ.

    4. ທ່ານຈະໄດ້ຮັບການກະຕຸ້ນເຕືອນໃຫ້ໃສ່ ຈຳ ນວນກ່ອງທີ່ທ່ານຕ້ອງການ, ໃຫ້ມັນ 3 .

    ແລະທ່ານຈະເຫັນວ່າ ກ່ອງ ຖືກສ້າງຂື້ນ, ກ່ອງເຫຼົ່ານັ້ນແມ່ນ ສຳ ຄັນ ສຳ ລັບພວກເຮົາເພື່ອຈະສາມາດເພີ່ມຫຼາຍກ່ວາພຽງແຕ່ 1 widget ໃນປ່ອງຢ້ຽມ.

    5. ດຽວນີ້ກົດເຂົ້າໄປທີ່ ກ່ອງ ແລະປ່ຽນປະເພດການ ກຳ ນົດທິດທາງຈາກ ຕັ້ງ ເປັນ ນອນ .

    6. ເພື່ອສ້າງໂປແກຼມທີ່ລຽບງ່າຍ, ໃຫ້ຕື່ມ“ ຂໍ້ຄວາມເຂົ້າສູ່ລະບົບ ”,“ ຂໍ້ຄວາມກ່ອງສະສົມ ” ແລະ“ ປຸ່ມ ” ບັນດາ ສຳ ລັບ ແຕ່ລະກ່ອງ, ທ່ານຄວນມີບາງສິ່ງບາງຢ່າງເຊັ່ນນີ້.

    7. ດຽວນີ້ກົດປຸ່ມ " window1 " ຈາກແຖບດ້ານຂວາ, ແລະປ່ຽນ ຕຳ ແໜ່ງ ຂອງມັນໃຫ້ເປັນ " ສູນ ".

    ເລື່ອນລົງໄປທີ່ສ່ວນ " ຮູບລັກສະນະ ".

    8. ທ່ານຍັງສາມາດເລືອກ ຮູບສັນຍາລັກ ສຳ ລັບ ໜ້າ ຕ່າງໂດຍການກົດປຸ່ມ " ຊື່ໄອຄອນ ".

    9. ທ່ານຍັງສາມາດປ່ຽນຄ່າ ຄວາມສູງ & ຄວາມກວ້າງ ສຳ ລັບການ ນຳ ໃຊ້ .. ຫຼັງຈາກທີ່ທັງ ໝົດ ນັ້ນ, ທ່ານຄວນມີບາງສິ່ງບາງຢ່າງເຊັ່ນນີ້.

    ໃນໂປແກຼມໃດ ໜຶ່ງ, ສິ່ງ ໜຶ່ງ ທີ່ ສຳ ຄັນທີ່ສຸດແມ່ນການສ້າງປ່ອງຢ້ຽມ " ກ່ຽວກັບ ", ເພື່ອເຮັດສິ່ງນີ້, ທຳ ອິດພວກເຮົາຕ້ອງປ່ຽນປຸ່ມ ທຳ ມະດາທີ່ພວກເຮົາສ້າງຂື້ນມາກ່ອນເຂົ້າໄປໃນປຸ່ມສະຕັອກ, ເບິ່ງທີ່ ຮູບພາບ.

    10. ດຽວນີ້, ພວກເຮົາຕ້ອງໄດ້ປັບປ່ຽນສັນຍານບາງຢ່າງເພື່ອ ດຳ ເນີນການສະເພາະໃນເວລາທີ່ມີເຫດການເກີດຂື້ນໃນ widget ຂອງພວກເຮົາ. ກົດທີ່ ການປ້ອນຂໍ້ຄວາມ ທີ່ຢູ່, ປ່ຽນໄປທີ່ " ສັນຍານ " ຢູ່ແຖບເບື້ອງຂວາ, ຄົ້ນຫາ " ເປີດໃຊ້ " ແລະປ່ຽນມືຈັບ “ ເຂົ້າ_button_clicked ”, ສັນຍາລັກ“ ເປີດໃຊ້ ” ແມ່ນສັນຍານເລີ່ມຕົ້ນທີ່ຖືກສົ່ງເມື່ອປຸ່ມ“ ເຂົ້າ” ຖືກຕີໃນຂະນະທີ່ສຸມໃສ່ຂໍ້ຄວາມ widget ເຂົ້າ.

    ພວກເຮົາຈະຕ້ອງເພີ່ມຜູ້ຈັດການຄົນອື່ນ ສຳ ລັບສັນຍານ“ ກົດປຸ່ມ ” ສຳ ລັບເຄື່ອງມືປຸ່ມຂອງພວກເຮົາ, ໃຫ້ຄລິກໃສ່ມັນແລະປ່ຽນສັນຍາລັກ“ ກົດປຸ່ມ ” ໄປເປັນ“ ປຸ່ມ _ ປິດ _ ປຸ່ມ “.

    11. ໄປທີ່ແທັບ“ ສາມັນ ” ແລະ ໝາຍ ໃສ່“ ມີຈຸດສຸມ ” ຕາມທີ່ຢູ່ຕໍ່ໄປ

    12. ຈາກແຖບດ້ານຊ້າຍ, ສ້າງປ່ອງຢ້ຽມ ໃໝ່ ກ່ຽວກັບ Dialog ”.

    ແລະທ່ານຈະສັງເກດເຫັນວ່າ " About Dialog " window ຖືກສ້າງຂື້ນ.

    ໃຫ້ດັດແປງມັນ .. ໃຫ້ແນ່ໃຈວ່າທ່ານໃສ່ການຕັ້ງຄ່າຕໍ່ໄປນີ້ເພື່ອມັນຈາກແຖບດ້ານຂວາ.

    ຫຼັງຈາກເຮັດການຕັ້ງຄ່າຂ້າງເທິງ, ທ່ານຈະຕິດຕາມກ່ຽວກັບ Window.

    ຢູ່ ໜ້າ ຕ່າງຂ້າງເທິງນີ້, ທ່ານຈະສັງເກດເຫັນພື້ນທີ່ຫວ່າງ, ແຕ່ທ່ານສາມາດເອົາມັນອອກໂດຍການຫຼຸດ ຈຳ ນວນກ່ອງຈາກ 3 ເຖິງ 2 ຫຼືທ່ານສາມາດເພີ່ມ widget ໃນມັນຖ້າທ່ານຕ້ອງການ.

    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 ”, ແລະໃຫ້ການອະນຸຍາດ ດຳ ເນີນການແລະ ດຳ ເນີນການມັນ.

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

    ປ້ອນຂໍ້ຄວາມໃສ່ໃນປ່ອງປ້ອນຂໍ້ມູນ, ກົດປຸ່ມ " ປ້ອນ " ໃສ່ແປ້ນພິມ, ແລະທ່ານຈະສັງເກດເຫັນວ່າປະໂຫຍກຖືກພິມຢູ່ຫອຍ.

    ທັງ ໝົດ ນີ້ດຽວນີ້ມັນບໍ່ແມ່ນ ຄຳ ຮ້ອງສະ ໝັກ ທີ່ສົມບູນແຕ່ຂ້ອຍພຽງແຕ່ຢາກສະແດງວິທີການເຊື່ອມໂຍງສິ່ງຕ່າງໆຮ່ວມກັນໂດຍໃຊ້ PyGObject , ທ່ານສາມາດເບິ່ງທຸກວິທີການ ສຳ ລັບທຸກໆ GTK ທີ່ຢູ່ gtkobjects.

    ພຽງແຕ່ຮຽນຮູ້ວິທີການຕ່າງໆ, ສ້າງ widget ໂດຍໃຊ້ Glade , ແລະເຊື່ອມຕໍ່ສັນຍານໂດຍໃຊ້ແຟ້ມ Python, ນັ້ນແມ່ນມັນ! ໝູ່ ຂອງຂ້ອຍບໍ່ຍາກເລີຍ.

    ພວກເຮົາຈະອະທິບາຍສິ່ງ ໃໝ່ໆ ກ່ຽວກັບ PyGObject ໃນພາກຕໍ່ໄປຂອງຊຸດ, ຈົນກວ່າຈະປັບປຸງແລະຢ່າລືມໃຫ້ ຄຳ ເຫັນຂອງທ່ານກ່ຽວກັບບົດຂຽນຂອງພວກເຮົາ.