Cara Membuat Aplikasi GUI Di bawah Desktop Linux Menggunakan Pygobject - Bagian 1

Cara Membuat Aplikasi GUI Di bawah Desktop Linux Menggunakan Pygobject - Bagian 1

Membuat aplikasi di Linux dapat dilakukan dengan menggunakan cara yang berbeda, tetapi ada cara yang terbatas untuk melakukan, jadi menggunakan bahasa dan perpustakaan pemrograman paling sederhana dan paling fungsional, itulah sebabnya kita akan memiliki pandangan cepat tentang membuat aplikasi di bawah Linux desktop menggunakan perpustakaan gtk+ dengan bahasa pemrograman python yang disebut “Pygobject".

Pygobject menggunakan introspeksi gobject untuk membuat ikatan untuk bahasa pemrograman seperti python, pygobject adalah generasi berikutnya dari pygtk, Anda dapat mengatakan bahwa pygobject = python + gtk3.

Buat aplikasi GUI di Linux - Bagian 1

Hari ini, kita akan memulai seri tentang membuat aplikasi GUI (antarmuka pengguna grafis) di bawah desktop Linux menggunakan GTK+ Library dan Pygobject Bahasa, seri ini akan membahas topik -topik berikut:

Bagian 1: Cara membuat aplikasi GUI di bawah desktop Linux menggunakan pygobject Bagian 2: Membuat lebih banyak aplikasi Pygobject di Linux Bagian 3: Buat aplikasi 'browser web' dan 'desktop recorder' Anda sendiri menggunakan pygObject Bagian 4: Kemasan program pygobject untuk desktop linux Bagian 5: Menerjemahkan aplikasi pygobject ke dalam berbagai bahasa
Tentang Python

Pertama -tama, Anda harus memiliki pengetahuan dasar dalam Python; Python adalah bahasa pemrograman yang sangat modern dan mudah digunakan. Ini adalah salah satu bahasa pemrograman paling terkenal di dunia, menggunakan Python, Anda akan dapat membuat banyak aplikasi & alat hebat. Anda dapat mengambil beberapa kursus gratis seperti yang ada di Codeacademy.com atau Anda dapat membaca beberapa buku tentang Python di:

Tentang GTK+

GTK+ adalah toolkit lintas-platform open-source untuk membuat antarmuka pengguna grafis untuk aplikasi desktop, pertama kali dimulai pada tahun 1998 sebagai toolkit GUI untuk gimp, kemudian, digunakan dalam banyak aplikasi lain dan segera menjadi salah satu perpustakaan paling terkenal yang paling terkenal untuk membuat GUI. GTK+ dirilis di bawah lisensi LGPL.

Membuat aplikasi GUI di bawah Linux

Ada 2 cara untuk membuat aplikasi menggunakan GTK+ & Python:

  1. Menulis antarmuka grafis hanya menggunakan kode.
  2. Merancang antarmuka grafis menggunakan “GladeProgram; yang merupakan alat RAD untuk merancang antarmuka GTK+ dengan mudah, Glade menghasilkan GUI sebagai file XML yang dapat digunakan dengan bahasa pemrograman apa pun untuk membangun GUI, setelah mengekspor file XML GUI, kami dapat menautkan file XML dengan kami program untuk melakukan pekerjaan yang kami inginkan.

Kami akan menjelaskan kedua cara singkatnya.

Cara hanya kode

Menulis GUI menggunakan kode hanya bisa sedikit sulit untuk programmer NOOB dan sangat menguntungkan waktu, tetapi menggunakannya, kami dapat membuat GUI yang sangat fungsional untuk program kami, lebih dari yang kami buat menggunakan beberapa alat seperti Glade.

Mari kita ambil contoh berikut.

#!/usr/bin/python #-*-Coding: UTF-8-*-Dari GI.Repositori Impor Kelas GTK OurWindow (GTK.Jendela): def __init __ (self): gtk.Jendela.__init __ (self,) gtk.Jendela.set_default_size (self, 400.325) gtk.Jendela.set_position (self, gtk.Windowposition.Tengah) tombol1 = gtk.Tombol ("Halo, dunia!") tombol1.hubungkan ("diklik", diri.whenbutton1_clicked) self.Tambahkan (tombol1) def whenbutton1_clicked (self, button): cetak "Halo, dunia!"Window = OurWindow () jendela.Connect ("Delete-Event", GTK.Main_quit) jendela.show_all () gtk.utama() 

Salin kode di atas, tempel dalam "tes.py"File dan atur 755 izin pada tes.file py dan jalankan file nanti menggunakan "./tes.py”, Itulah yang akan Anda dapatkan.

# tes nano.PY # CHMOD 755 TES.PY # ./tes.py 
Halo naskah dunia

Dengan mengklik tombol, Anda melihat “Halo Dunia!Kalimat yang dicetak di terminal:

Uji skrip Python

Izinkan saya menjelaskan kode dalam penjelasan terperinci.

  1. #!/usr/bin/python: Jalur default untuk interpreter Python (versi 2.7 Dalam kebanyakan kasus), baris ini harus menjadi baris pertama di setiap file python.
  2. # -* -Coding: UTF -8 -*-: Di sini kami mengatur pengkodean default untuk file, UTF-8 adalah yang terbaik jika Anda ingin mendukung bahasa non-Inggris, biarkan seperti itu.
  3. dari GI.Impor Repositori GTK: Di sini kami mengimpor perpustakaan GTK 3 untuk menggunakannya dalam program kami.
  4. Kelas OurWindow (GTK.Jendela): Di sini kami membuat kelas baru, yang disebut "OurWindow", kami juga mengatur jenis objek kelas ke "GTK.Jendela".
  5. def __init __ (self): Tidak ada yang baru, kami mendefinisikan komponen jendela utama di sini.
  6. GTK.Jendela.__init __ (self, title = "My Hello World Program"): Kami menggunakan baris ini untuk mengatur judul "My Hello World Program" ke jendela "OurWindow", Anda dapat mengubah judul jika Anda suka.
  7. GTK.Jendela.set_default_size (self, 400.325): Saya tidak berpikir bahwa baris ini membutuhkan penjelasan, di sini kita mengatur lebar dan tinggi default untuk jendela kita.
  8. GTK.Jendela.set_position (self, gtk.Windowposition.TENGAH): Menggunakan baris ini, kami akan dapat mengatur posisi default untuk jendela, dalam hal ini, kami mengaturnya ke pusat menggunakan "GTK.Windowposition.Parameter tengah ", jika Anda mau, Anda dapat mengubahnya menjadi" GTK.Windowposition.Mouse ”untuk membuka jendela pada posisi penunjuk mouse.
  9. Button1 = GTK.Tombol (“Halo, dunia!"): Kami membuat GTK baru.Tombol, dan kami menyebutnya "Button1", teks default untuk tombolnya adalah "Halo, dunia!”, Anda dapat membuat widget GTK jika Anda mau.
  10. Button1.hubungkan ("diklik", diri.whenbutton1_clicked): Di sini kami menautkan sinyal "diklik" dengan tindakan "whenbutton1_clicked", sehingga ketika tombol diklik, tindakan "Whenbutton1_clicked" diaktifkan.
  11. diri sendiri.Tambahkan (tombol1): Jika kami ingin widget GTK kami muncul, kami harus menambahkannya ke jendela default, garis sederhana ini menambahkan widget "Button1" ke jendela, sangat penting untuk melakukan ini.
  12. def whenbutton1_clicked (self, tombol): Sekarang kami mendefinisikan tindakan "whenbutton1_clicked" di sini, kami mendefinisikan apa yang akan terjadi ketika widget "Button1" diklik, parameter "(self, tombol)" penting untuk spesifik jenis objek orangtua sinyal sinyal sinyal.
  13. Cetak “Halo, Dunia!": Saya tidak perlu menjelaskan lebih lanjut di sini.
  14. window = OurWindow (): Kami harus membuat variabel global baru dan mengaturnya ke kelas Window () kami sehingga kami dapat menyebutnya nanti menggunakan GTK+ Library.
  15. jendela.Connect (“Delete-Event”, GTK.Main_Quit): Sekarang kami menghubungkan sinyal "hapus-peristiwa" dengan "GTK.tindakan utama, ini penting untuk menghapus semua widget setelah kami menutup jendela program kami secara otomatis.
  16. jendela.tunjukkan semua(): Menampilkan jendela.
  17. GTK.utama(): Menjalankan Perpustakaan GTK.

Itu saja, mudah tidak? Dan sangat fungsional jika kami ingin membuat beberapa aplikasi besar. Untuk informasi lebih lanjut tentang membuat antarmuka GTK+ menggunakan cara-cara kode saja, Anda dapat mengunjungi situs web dokumentasi resmi di:

Tutorial Python GTK3

Cara desainer glade

Seperti yang saya katakan di awal artikel, Glade adalah alat yang sangat mudah untuk membuat antarmuka yang kami butuhkan untuk program kami, sangat terkenal di kalangan pengembang dan banyak antarmuka aplikasi hebat dibuat menggunakannya. Cara ini disebut "Pengembangan Aplikasi Cepat".

Anda harus menginstal Glade untuk mulai menggunakannya, di Debian/Ubuntu/Mint Run:

$ sudo apt-instal glade 

Di redhat/fedora/centos, lari:

# yum instal glade 

Setelah Anda mengunduh dan menginstal program, dan setelah menjalankannya, Anda akan melihat widget GTK yang tersedia di sebelah kiri, klik pada “jendela”Widget untuk membuat jendela baru.

Buat widget baru

Anda akan melihat bahwa jendela kosong baru dibuat.

Widget jendela baru

Anda sekarang dapat menambahkan beberapa widget ke dalamnya, di bilah alat kiri, klik pada “tombol"Widget, dan klik pada jendela kosong untuk menambahkan tombol ke jendela.

Tambahkan widget

Anda akan melihat bahwa ID tombol adalah “Button1”, Sekarang lihat tab Sinyal di toolbar yang tepat, dan cari“diklik"Sinyal dan masuk"Button1_Clicked"Di bawahnya.

Properti Tombol Sinyal tab

Sekarang kami telah membuat GUI kami, mari kita ekspor. Klik pada "Mengajukan"Menu dan pilih"Menyimpan", Simpan file di direktori home Anda di nama"myprogram.Glade”Dan keluar.

File widget ekspor

Sekarang, buat yang baru “tes.pyFile, dan masukkan kode berikut di dalamnya.

#!/usr/bin/python #-*-Coding: UTF-8-*-Dari GI.Repositori Impor GTK Class Handler: def Button_1Clicked (self, tombol): cetak "Halo, dunia!"Pembangun = GTK.Pembangun () pembangun.add_from_file ("myprogram.Glade ") pembangun.connect_signals (handler ()) ournewbutton = pembangun.get_object ("button1") ournewbutton.set_label ("Halo, dunia!") jendela = pembangun.get_object ("window1") window.Connect ("Delete-Event", GTK.Main_quit) jendela.show_all () gtk.utama() 

Simpan file, berikan 755 izin seperti sebelumnya, dan jalankan menggunakan "./tes.py", Dan itulah yang akan Anda dapatkan.

# tes nano.PY # CHMOD 755 TES.PY # ./tes.py 
Halo Jendela Dunia

Klik tombol, dan Anda akan melihat bahwa “Halo Dunia!Kalimat dicetak di terminal.

Sekarang mari kita jelaskan hal -hal baru:

  1. penangan kelas: Di sini kami membuat kelas yang disebut "penangan" yang akan mencakup definisi untuk tindakan & sinyal, kami buat untuk GUI.
  2. builder = gtk.Pembangun(): Kami membuat variabel global baru yang disebut "pembangun" yang merupakan GTK.Widget pembangun, ini penting untuk mengimpor .file glade.
  3. pembangun.add_from_file (“myprogram.Glade ”): Di sini kami mengimpor “MyProgram.File Glade ”untuk menggunakannya sebagai GUI default untuk program kami.
  4. pembangun.connect_signals (handler ()): Baris ini menghubungkan .File Glade dengan kelas penangan, sehingga tindakan dan sinyal yang kami tentukan di bawah kelas "Handler" berfungsi dengan baik saat kami menjalankan program.
  5. OurNewButton = Builder.get_object (“button1”): Sekarang kami mengimpor objek "Button1" dari .File Glade, kami juga menyerahkannya ke variabel global "OurNewButton" untuk menggunakannya nanti dalam program kami.
  6. OurNewButton.set_label (“Halo, dunia!"): Kami menggunakan “set.Label "Metode untuk mengatur teks tombol default ke" Hello, World!" kalimat.
  7. window = pembangun.get_object (“window1”): Di sini kami menyebut objek "window1" dari .file glade untuk menunjukkannya nanti di program.

Dan itu saja! Anda telah berhasil membuat program pertama Anda di bawah Linux!

Tentu saja ada banyak hal yang lebih rumit untuk dilakukan untuk membuat aplikasi nyata yang melakukan sesuatu, itu sebabnya saya menyarankan Anda untuk melihat ke dalam dokumentasi GTK+ dan API Gobject di:

  1. GTK+ Manual Referensi
  2. Referensi API Python Gobject
  3. Referensi Pygobject

Sudahkah Anda mengembangkan aplikasi apa pun sebelum di bawah desktop Linux? Bahasa dan alat pemrograman apa yang telah digunakan untuk melakukannya? Apa pendapat Anda tentang membuat aplikasi menggunakan Python & GTK 3?