PyGTK: Pemrograman GUI dengan Python dan GTK

GUI adalah singkatan dari Graphical User Interface.

Aplikasi GUI memang mudah digunakan. Karena terdapat tampilan visual grafis yang bisa diklik.

Salah satu modul atau libraray yang sering digunakan untuk membuat aplikasi GUI di Linux adalah GTK+.

Pada kesempatan ini, kita akan menggunakan modul tersebut dengan mencoba membuat sebuah jendela atau window.

Mari kita mulai…

Apa itu GTK+ dan PyGTK?

Sebelum itu, kamu harus pahami dulu apa perbedaan dari GTK+ dan PyGTK.

GTK+ (GIMP Toolkit) merupakan pustaka yang digunakan untuk membangun antarmuka grafis. GTK+ adalah bagian dari proyek GNU.

Dinamakan GIMP Toolkit karena proyek ini bersamaan dibaut dengan aplikasi GIMP.

GTK+ sendiri merupakan pustaka yang digunakan untuk bahasa C, sedangkan untuk python kita menggunakan PyGTK.

PyGTK adalah modul python yang berisi GTK+ atau dengan kata lain:

PyGTK adalah wrapper (pembungkus) GTK+ sehingga kita bisa menggunakan library ini di dalam Python.

Website Resmi PyGTK

Informasi lebih lengkap mengenai PyGTK, dapat dibaca pada website resminya www.pygtk.org.

ℹ️ update 28 Januari 2019:

PyGTK kini sudah berubah menjadi PyGObject. PyGObject lebih modern dibandingkan PyGTK karena sudah mendukung GTK 3. Sedangkan PyGTK hanya GTK 2 saja.

Persiapan Pemrograman PyGTK

Adapun peralatan yang harus dipersiapkan untuk memulai pemrograman PyGTK adalah sebgai berikut

1. Teks Editor

Teks editor akan digunakan untuk menulis kode.

Gunakan teks editor yang kamu sukai.

Beberapa teks editor rekomendasi: Atom, Ms. Visual Studio Code, Komodo Edit, Geany, dsb.

Teks editor atom

2. Python

Sebagian besar distro Linux sudah membawa python pada distribusinya, jadi tidak perlu diinstal.

Silahkan cek versi yang terinstal di terminal dengan perintah:

$ python --version
Python 2.7.6

3. PIP

PIP merupakan sebuah sistem manajemen paket yang digunakan untuk menginstal dan mengelola pustaka python.

Kita membutuhkan PIP untuk menginstal pustaka PyGTK.

Cara instal PIP, ketik perintah ini di terminal.

sudo apt-get isntall python-pip

4. Instal Modul PyGTK

Sekarang baru kita bisa install modul PyGTK-nya. Gunakan perintah berikut untuk meingstal:

sudo pip install PyGTK

Membuat Window dengna PyGTK

Setelah semua perealatan siap, mari kita coba membuat sebuah jendela.

Jendela merupakan bagian utama dari aplikasi GUI.

Buatlah file baru bernama jendela.py, kemudian isi dengan kode berikut:

#impor pustaka GTK
import gtk

# membuat objek jendela
window = gtk.Window()

# konfigurasi jendela
window.set_size_request(600,200)
window.set_position(gtk.WIN_POS_CENTER)
window.set_title("Pemrograman PyGTK - Petani Kode")
window.connect("destroy", gtk.main_quit)

# tampilkan jendela
window.show()
gtk.main()

Setelah itu, simpan dengan nama jendela.py dan eksekusi dengan perintah:

python jendela.py

Maka hasilnya:

Membuat Jendela dengan PyGTK

Jika berhasil muncul seperti pada gambar, berarti program PyGTK pertama kita berhasil.

Selamat… 🎉

Baiklah, sekarang saatnya saya jelaskan arti kode di atas.

Pertama-tama kita mengimpor modul gtk:

import gtk

Setelah itu membuat objek window dari class Window() pada modul gtk:

window = gtk.Window()

Object window berisi beberapa method yang bisa kita gunakan untuk memodifikasi tampilan jendela seperti:

  • set_size_request(600,200) untuk menentukan ukuran jendela.
  • set_position(gtk.WIN_POS_CENTER) untuk menentukan posisi muncul jendela. gtk.WIN_POS_CENTER artinya posisi munculnya di tengah-tengah layar.
  • set_title() untuk memberikan judul jendela.
  • connect("destroy", gtk.main_quit) untuk menghubungkan sinyal "destroy" dengan fungsi main_quit. Artinya, ketika tombol close diklik… aplikasi akan langsung keluar.
  • show() untuk menampilkan jendela.

Pada bagian akhir program di atas, kita memanggil method:

gtk.main()

Method gtk.main() adalah main loop (perulangan utama) yang menjaga jendela tetap terbuka.

Paham?

Kalau begitu…

Mari kita lanjutka dengan membuat jendela, tapi dengan Classs

Membuat Jendela dengan Class

Pada contoh di atas kita membuat jendela dengan membuat langsung objek dari class gtk.Window().

Sebenarnya ada cara lain, yaitu dengan membuat turunan dari class Window()

Perhatikan kode berikut:

import gtk

class App(gtk.Window):
    def __init__(self):
        super(App, self).__init__()

        self.connect("destroy", gtk.main_quit)
        self.set_size_request(250, 150)
        self.set_position(gtk.WIN_POS_CENTER)
        self.show()

# Tampilkan Jendela
App()
gtk.main()

Hasilnya:

Membuat jendela dengan class

Hasilnya akan sama.

Cara ini mungkin akan sangat berguna saat kita bekerja aplikasi skala besar. Karena kita bisa menerapkan konsep-konsep OOP di sini.

Mengubah Ikon Aplikasi

Selanjutnya kita coba jelajahi, method apa saja yang dimiliki oleh class Window()

Salah satuny aadalah set_icon_from_file() yang fungsinya untuk mengubah ikon.

Baiklah, silahkan buat file baru dengan nama ikon.py. Kemudian isi dengan kode berikut.

import gtk

class App(gtk.Window):
    def __init__(self):
        super(App, self).__init__()

        self.connect("destroy", gtk.main_quit)
        self.set_size_request(250, 150)
        self.set_position(gtk.WIN_POS_CENTER)
        self.set_title("Jendela dengan Ikon")
        self.set_icon_from_file("icon.png")
        self.show()

App()
gtk.main()

Hasilnya:

Jendela dengan ikon

Apa Selanjutnya?

Kita sudah tahu cara membuat jendela dengan PyGTK, selanjutnya cobalah menambahkan tombol dan label di dalamnya.

Oh iya, source code tutorial tersedia di Github:

[🎁 Download Source Code]