ວິທີການສ້າງໂປແກຼມ GUI ພາຍໃຕ້ Linux Desktop ໂດຍໃຊ້ PyGObject - ພາກທີ 1
ການສ້າງໂປແກຼມໃນ Linux ສາມາດເຮັດໄດ້ໂດຍໃຊ້ວິທີທີ່ແຕກຕ່າງກັນ, ແຕ່ວ່າມີວິທີການ ຈຳ ກັດ, ສະນັ້ນການໃຊ້ພາສາແລະຫໍສະ ໝຸດ ທີ່ງ່າຍດາຍແລະມີປະສິດຕິພາບສູງທີ່ສຸດ, ນັ້ນແມ່ນເຫດຜົນທີ່ພວກເຮົາຈະຕ້ອງໄດ້ເບິ່ງໄວໆໃນການສ້າງໂປແກຼມຕ່າງໆພາຍໃຕ້ Linux desktop ໂດຍໃຊ້ຫ້ອງສະຫມຸດ GTK + ດ້ວຍພາສາການຂຽນໂປແກມ Python ເຊິ່ງເອີ້ນວ່າ "PyGObject".
PyGObject ໃຊ້ GObject Introspection ເພື່ອສ້າງການຜູກມັດ ສຳ ລັບພາສາການຂຽນໂປແກຼມເຊັ່ນ Python, PyGObject ແມ່ນຄົນຮຸ່ນຫລັງຈາກ PyGTK, ທ່ານສາມາດເວົ້າໄດ້ວ່າ PyGObject = Python + GTK3.
ມື້ນີ້, ພວກເຮົາຈະເລີ່ມຕົ້ນຊຸດກ່ຽວກັບການສ້າງໂປແກຼມ GUI (Graphical User Interface) ພາຍໃຕ້ Linux desktop ໂດຍໃຊ້ຫ້ອງສະຫມຸດ GTK + ແລະ PyGobject , ຊຸດຈະມີຫົວຂໍ້ຕໍ່ໄປນີ້:
ກ່ອນອື່ນ ໝົດ, ທ່ານຕ້ອງມີຄວາມຮູ້ພື້ນຖານບາງຢ່າງໃນ Python; Python ແມ່ນພາສາການຂຽນໂປແກຼມທີ່ທັນສະ ໄໝ ແລະງ່າຍດາຍ. ມັນແມ່ນ ໜຶ່ງ ໃນພາສາການຂຽນໂປແກຼມທີ່ມີຊື່ສຽງທີ່ສຸດໃນໂລກ, ໂດຍໃຊ້ Python, ທ່ານຈະສາມາດສ້າງໂປແກຼມໂປຼແກຼມແລະເຄື່ອງມືທີ່ດີຫຼາຍຢ່າງ. ທ່ານອາດຈະຮຽນຫຼັກສູດຟຣີເຊັ່ນວ່າຢູ່ທີ່ codeacademy.com ຫຼືທ່ານອາດຈະອ່ານປື້ມບາງຢ່າງກ່ຽວກັບ Python ທີ່:
GTK + ແມ່ນຊຸດຂໍ້ມູນແບບເປີດ - ແຫຼ່ງເພື່ອສ້າງອິນເຕີເຟດຜູ້ໃຊ້ແບບກາຟິກ ສຳ ລັບການ ນຳ ໃຊ້ desktop, ມັນໄດ້ເລີ່ມຕົ້ນໃນປີ 1998 ເປັນຊຸດເຄື່ອງມື GUI ສຳ ລັບ GIMP, ຕໍ່ມາ, ມັນຖືກ ນຳ ໃຊ້ໃນຫລາຍໂປແກຼມອື່ນແລະ ບໍ່ດົນກໍ່ກາຍເປັນ ໜຶ່ງ ໃນບັນດາຫໍສະມຸດທີ່ມີຊື່ສຽງທີ່ສຸດໃນການສ້າງ GUIs. GTK + ຖືກປ່ອຍພາຍໃຕ້ໃບອະນຸຍາດ LGPL.
ການສ້າງໂປແກຼມ GUI ພາຍໃຕ້ Linux
ມີ 2 ວິທີໃນການສ້າງໂປແກຼມໃຊ້ໂດຍໃຊ້ GTK + & Python:
<
ພວກເຮົາຈະອະທິບາຍທັງສອງວິທີໂດຍຫຍໍ້.
ການຂຽນ GUI ໂດຍໃຊ້ລະຫັດພຽງແຕ່ສາມາດເຮັດໄດ້ຍາກ ສຳ ລັບນັກຂຽນໂປແກຼມ noob ແລະເວລາເສຍເວລາຫຼາຍ, ແຕ່ການໃຊ້ມັນ, ພວກເຮົາສາມາດສ້າງ GUI ທີ່ມີປະໂຫຍດຫຼາຍ ສຳ ລັບໂປແກຼມຂອງພວກເຮົາ, ຫຼາຍກວ່າສິ່ງທີ່ພວກເຮົາສ້າງໂດຍໃຊ້ບາງເຄື່ອງມືເຊັ່ນ: Glade.
ຂໍໃຫ້ຍົກຕົວຢ່າງຕໍ່ໄປນີ້.
#!/usr/bin/python # -*- coding: utf-8 -*- from gi.repository import Gtk class ourwindow(Gtk.Window): def __init__(self): Gtk.Window.__init__(self, title="My Hello World Program") Gtk.Window.set_default_size(self, 400,325) Gtk.Window.set_position(self, Gtk.WindowPosition.CENTER) button1 = Gtk.Button("Hello, World!") button1.connect("clicked", self.whenbutton1_clicked) self.add(button1) def whenbutton1_clicked(self, button): print "Hello, World!" window = ourwindow() window.connect("delete-event", Gtk.main_quit) window.show_all() Gtk.main()
ສຳ ເນົາລະຫັດຂ້າງເທິງ, ວາງມັນໃສ່ໃນເອກະສານ“ test.py ” ແລະ ກຳ ນົດການອະນຸຍາດ 755 ໃສ່ແຟ້ມ test.py ແລະແລ່ນເອກະສານຕໍ່ມາໂດຍໃຊ້“ ./test.py”, ນັ້ນແມ່ນສິ່ງທີ່ທ່ານຈະໄດ້ຮັບ.
# nano test.py # chmod 755 test.py # ./test.py
ໂດຍການກົດປຸ່ມ, ທ່ານຈະເຫັນປະໂຫຍກ“ ສະບາຍດີ, ໂລກ! ” ທີ່ພິມອອກຢູ່ປາຍ:
ຂ້າພະເຈົ້າຂໍອະທິບາຍລະຫັດໃນ ຄຳ ອະທິບາຍລະອຽດ.
<
ມັນງ່າຍ, ບໍ່ແມ່ນບໍ? ແລະມີປະໂຫຍດຫຼາຍຖ້າພວກເຮົາຕ້ອງການສ້າງໂປແກຼມໃຫຍ່ໆບາງຢ່າງ. ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການສ້າງອິນເຕີເຟດ GTK + ໂດຍໃຊ້ວິທີການລະຫັດເທົ່ານັ້ນ, ທ່ານສາມາດເຂົ້າເບິ່ງເວບໄຊທ໌ເອກະສານທາງການທີ່:
ການແນະ ນຳ Python GTK3
ເຊັ່ນດຽວກັບທີ່ຂ້ອຍໄດ້ກ່າວໃນຕອນຕົ້ນຂອງບົດຂຽນ, Glade ແມ່ນເຄື່ອງມືທີ່ງ່າຍທີ່ສຸດໃນການສ້າງອິນເຕີເຟດທີ່ພວກເຮົາຕ້ອງການ ສຳ ລັບໂປແກຼມຂອງພວກເຮົາ, ມັນມີຊື່ສຽງຫຼາຍໃນບັນດານັກພັດທະນາແລະມີໂປແກຼມອິນເຕີເນັດທີ່ດີຫຼາຍຄົນຖືກສ້າງຂື້ນໂດຍໃຊ້ມັນ. ວິທີນີ້ເອີ້ນວ່າ“ ການພັດທະນາການ ນຳ ໃຊ້ຢ່າງວ່ອງໄວ”.
ທ່ານຕ້ອງຕິດຕັ້ງ Glade ເພື່ອເລີ່ມຕົ້ນໃຊ້ມັນ, ໃນການ ດຳ ເນີນງານຂອງ Debian/Ubuntu/Mint:
$ sudo apt-get install glade
ໃນ RedHat/Fedora/CentOS, ດຳ ເນີນການ:
# yum install glade
ຫຼັງຈາກທີ່ທ່ານດາວໂຫລດແລະຕິດຕັ້ງໂປແກຼມ, ແລະຫລັງຈາກທ່ານເຮັດມັນ, ທ່ານຈະເຫັນ Gtk widget ຢູ່ເບື້ອງຊ້າຍ, ໃຫ້ຄລິກໃສ່ " window " widget ເພື່ອສ້າງ ໜ້າ ຕ່າງ ໃໝ່.
ທ່ານຈະສັງເກດເຫັນວ່າປ່ອງຢ້ຽມຫວ່າງເປົ່າ ໃໝ່ ຖືກສ້າງຂື້ນ.
ດຽວນີ້ທ່ານສາມາດເພີ່ມ widget ບາງຢ່າງໃສ່ມັນ, ຢູ່ແຖບເຄື່ອງມືເບື້ອງຊ້າຍ, ກົດທີ່ປຸ່ມ " ປຸ່ມ ", ແລະກົດທີ່ ໜ້າ ຈໍຫວ່າງເພື່ອເພີ່ມປຸ່ມໃສ່ ໜ້າ ຕ່າງ.
ທ່ານຈະສັງເກດເຫັນວ່າປຸ່ມປຸ່ມແມ່ນ " ປຸ່ມ 1 ", ດຽວນີ້ ໝາຍ ເຖິງແຖບສັນຍານຢູ່ແຖບເຄື່ອງມືທີ່ຖືກຕ້ອງ, ແລະຄົ້ນຫາສັນຍານ“ ກົດປຸ່ມ ” ແລະໃສ່“ button1_clicked ” ຢູ່ພາຍໃຕ້ມັນ.
ດຽວນີ້ພວກເຮົາໄດ້ສ້າງ GUI ຂອງພວກເຮົາ, ໃຫ້ສົ່ງອອກມັນ. ກົດທີ່ປຸ່ມ“ ເອກະສານ ” ແລະເລືອກ“ ບັນທຶກ ”, ບັນທຶກເອກະສານໄວ້ໃນໄດເລກະທໍລີບ້ານຂອງທ່ານໃນຊື່“ myprogram.glade ” ແລະ ອອກຈາກ.
ດຽວນີ້, ສ້າງແຟ້ມ“ test.py ” ໃໝ່, ແລະໃສ່ລະຫັດດັ່ງຕໍ່ໄປນີ້ຢູ່ໃນນັ້ນ.
#!/usr/bin/python # -*- coding: utf-8 -*- from gi.repository import Gtk class Handler: def button_1clicked(self, button): print "Hello, World!" builder = Gtk.Builder() builder.add_from_file("myprogram.glade") builder.connect_signals(Handler()) ournewbutton = builder.get_object("button1") ournewbutton.set_label("Hello, World!") window = builder.get_object("window1") window.connect("delete-event", Gtk.main_quit) window.show_all() Gtk.main()
ບັນທຶກເອກະສານດັ່ງກ່າວ, ໃຫ້ສິດອະນຸຍາດໃຫ້ 755 ຂໍ້ຄືກັບກ່ອນແລະ ດຳ ເນີນການໂດຍໃຊ້“ ./test.py ”, ແລະນັ້ນແມ່ນສິ່ງທີ່ທ່ານຈະໄດ້ຮັບ.
# nano test.py # chmod 755 test.py # ./test.py
ກົດເຂົ້າປຸ່ມ, ແລະທ່ານຈະສັງເກດເຫັນວ່າປະໂຫຍກ“ ສະບາຍດີ, ໂລກ! ” ຖືກພິມຢູ່ປາຍທາງ.
ບັດນີ້ໃຫ້ອະທິບາຍສິ່ງ ໃໝ່ໆ:
<
ນັ້ນແມ່ນມັນ! ທ່ານໄດ້ສ້າງໂປແກຼມ ທຳ ອິດຂອງທ່ານພາຍໃຕ້ Linux!
ແນ່ນອນມັນມີຫຼາຍສິ່ງທີ່ສັບສົນຫຼາຍທີ່ຕ້ອງເຮັດເພື່ອສ້າງໂປແກຼມໃຊ້ຈິງໆທີ່ເຮັດບາງສິ່ງບາງຢ່າງ, ນັ້ນແມ່ນເຫດຜົນທີ່ຂ້ອຍແນະ ນຳ ໃຫ້ເຈົ້າພິຈາລະນາເບິ່ງເອກະສານ GTK + ແລະ GObject API ທີ່:
<
ທ່ານໄດ້ພັດທະນາໂປແກຼມໃດ ໜຶ່ງ ມາກ່ອນພາຍໃຕ້ ໜ້າ ຈໍ Linux ບໍ? ພາສາແລະເຄື່ອງມືການຂຽນໂປແກຼມໃດທີ່ໃຊ້ເພື່ອເຮັດມັນ? ທ່ານຄິດແນວໃດກ່ຽວກັບການສ້າງໂປແກຼມໂດຍໃຊ້ Python & GTK 3?