ສ້າງໂປແກຼມ GUI ລ່ວງ ໜ້າ ເພີ່ມເຕີມໂດຍໃຊ້ເຄື່ອງມື PyGobject ໃນ Linux - ພາກທີ 2
ພວກເຮົາສືບຕໍ່ຊຸດຂອງພວກເຮົາກ່ຽວກັບການສ້າງໂປແກຼມ GUI ພາຍໃຕ້ Linux desktop ໂດຍໃຊ້ PyGObject , ນີ້ແມ່ນພາກທີສອງຂອງຊຸດແລະມື້ນີ້ພວກເຮົາຈະເວົ້າກ່ຽວກັບການສ້າງໂປແກຼມທີ່ມີປະໂຫຍດຫຼາຍຂື້ນໂດຍໃຊ້ບາງເຄື່ອງມືທີ່ກ້າວ ໜ້າ.
<
ໃນບົດຂຽນກ່ອນ ໜ້າ ນີ້ພວກເຮົາໄດ້ກ່າວວ່າມີສອງວິທີການ ສຳ ລັບການສ້າງໂປແກຼມ 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 ໃນພາກຕໍ່ໄປຂອງຊຸດ, ຈົນກວ່າຈະປັບປຸງແລະຢ່າລືມໃຫ້ ຄຳ ເຫັນຂອງທ່ານກ່ຽວກັບບົດຂຽນຂອງພວກເຮົາ.