author Ahmad Muhardian

Tutorial PyGTK #2: Belajar Membuat Tombol, Label, dan Event Click Handler


Pemrograman PyGTK

Pada tutorial sebelumnya, kita sudah belajar cara membuat jendela di PyGTK.

Berikutnya kita akan mencoba menambahkan beberapa elemen ke dalam jendela, seperti tombol dan label.

Baiklah…

Mari kita mulai!

Membuat Tombol di PyGTK

Tombol dapat kita buat dengan class Button().

Seperti ini:

button = gtk.Button("Sebuah Tombol")

Mari kita coba tambahkan ke dalam jendela. Buatlah file baru bernama button1.py, kemudian isi dengan kode berikut.

import gtk

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

        self.set_title("Latihan Button")
        self.set_size_request(250, 150)
        self.set_position(gtk.WIN_POS_CENTER)

        # membuat button
        button = gtk.Button("Sebuah Tombol")

        # membuat container untuk button
        container = gtk.Fixed()

        # menambahkan button ke container
        container.put(button, 20, 30)

        # menambahkan container ke jendela
        self.add(container)
        self.connect("destroy", gtk.main_quit)
        self.show_all()


App()
gtk.main()

Hasilnya:

Membuat sebuah tombol

Baik saya akan jelaskan sedikit.

Sebelum membuat tombol, ada baiknya kita menyediakan wadah berupa container. Objek ini adalah sebuah layout (Fixed).

container = gtk.Fixed()

Setelah itu kita masukan objek tombol ke dalam layout atau container.

container.put(button, 20, 30)

Terakhir, kita tambahkan layout ke dalam jendela agar dapat ditampilkan.

self.add(container)

Membuat Beberapa Tombol

Berikutnya, cobalah membuat beberapa tombol.

Buat file baru bernama button2.py kemudian isi dengan kode berikut:

import gtk

class App(gtk.Window):
  def __init__(self):
    super(App, self).__init__()
   
    self.set_title("Latihan Tombol")
    self.set_size_request(250,150)
    self.set_position(gtk.WIN_POS_CENTER)
   
    btn1 = gtk.Button("Tombol 1")
    btn1.set_sensitive(False) # non-aktifkan tombol
    btn2 = gtk.Button("Tombol 2")
    btn3 = gtk.Button(stock=gtk.STOCK_CLOSE) 
    btn4 = gtk.Button("Tombol 4")
    btn4.set_size_request(80,40) # set ukuran tombol
   
    container = gtk.Fixed() # membuat kontainer
   
    container.put(btn1, 20, 30)
    container.put(btn2, 100, 30)
    container.put(btn3, 20, 80)
    container.put(btn4, 100, 80)
   
    self.connect("destroy", gtk.main_quit)
   
    self.add(container)
    self.show_all()

App()
gtk.main()

Hasilnya:

Membuat beberapa tombol

Pada contoh di atas, kita menggunakan beberapa method dari class Button() seperti:

  • set_sensitive() untuk menonaktifkan tombol;
  • set_size_request() untuk mengubah ukuran tombol;

…dan kita juga memberikan parameter seperti stock=gtk.STOCK_CLOSE untuk menambahkan ikon pada tombol.

Membuat Label

Label merupakan sebuah teks yang bisa kita tempel ke dalam jendela. Label biasanya digunakan untuk menampilkan informasi tertentu.

Cara membuat label di PyGTK:

label = gtk.Label("Teks Label")

Mari kita coba…

Buatlah file baru bernama label.py kemudian isi denan kode berikut:

import gtk

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

        self.set_title("Latihan Label")
        self.set_size_request(640,320)
        self.set_position(gtk.WIN_POS_CENTER)

        label = gtk.Label("Selamat datang di Petani Kode")
        self.add(label)
        self.connect("destroy", gtk.main_quit)
        self.show_all()


App()
gtk.main()

Hasilnya:

Membuat Label di PyGTK

Label akan ditampilkan ditengah-tengah jendela, karena kita tidak menggunakan container.

Event Handler pada Tombol

Kita sudah tahu cara membuat tombol dan lebl, lalu pertanyaanya:

Bagaimana cara agara tombol bisa melakukan sesuatu saat diklik?

Untuk melakukan ini, kita harus menghubungkan tombol dengan sebuah fungsi aksi atau handler saat diklik.

Caranya?

Kita bisa gunakan method connect() seperti ini:

button.connect("clicked", on_button_click)

Parameter "clicked" merupakan sinyal, lalu on_button_click adalah nama fungsi yang akan menghandle saat sinyal "clicked" terjadi.

Mari kita coba lihat contohnya…

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

import gtk

class App(gtk.Window):

    def __init__(self):
        super(App, self).__init__()

        self.set_title("Latihan Button Click")
        self.set_size_request(400, 200)
        self.set_position(gtk.WIN_POS_CENTER)

        # membuat button dan label
        button = gtk.Button("Klik Saya!")
        self.label = gtk.Label("...")

        # membuat container untuk button
        container = gtk.Fixed()

        # menambahkan button ke container
        container.put(button, 20, 30)
        container.put(self.label, 20, 100)

        # connect singnal dan fungsi
        self.connect("destroy", gtk.main_quit)
        button.connect("clicked", self.on_button_click)

        # menambahkan container ke jendela
        self.add(container)
        self.show_all()
    
    def on_button_click(self, button):
        print("Tombol diklik!")
        self.label.set_text("Hello World")


App()
gtk.main()

Hasilnya:

Tombol diklik

Berhasil!

Kita sudah berhasil menghubungkan sinyal "clicked" dengan dungsi on_button_click().

button.connect("clicked", self.on_button_click)

Pada fungsi on_button_click() kita melakukan print teks ke console dan mengubah teks label menjadi "Hello World".

def on_button_click(self, button):
    print("Tombol diklik!")
    self.label.set_text("Hello World")

Sehingga pada console atau terminal akan tampil seperti ini ketika tombol diklik.

Terminal saat tombol diklik

Apa Selanjutnya?

Hore! kita sudah berhasil membuat tombol dan label serta mengetahui bagaimana cara membuat fungsi handler untuk tombol.

Selanjutnya, silahkan pelajari tentang:

Selamat belajar.

Baca Juga ini

Tutorial PyGTK #1: Belajar Pemrograman GUI dengan Python dan PyGTK di Linux

Tutorial PyGTK #1: Belajar Pemrograman GUI dengan Python dan PyGTK di Linux

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 adalah GTK+. Pada kesempatan ini, kita akan menggunakan modul tersebut dengan mencoba membuat sebuah jendela atau window. Mari kita mulai… googletag.cmd.push(function () { googletag.display('div-gpt-ad-multibanner1'); }); Apa itu GTK+ dan PyGTK?Sebelum itu, kamu harus pahami dulu apa perbedaan dari GTK+ dan PyGTK.

Belajar Pemrograman Python: Memahami Perulangan

Belajar Pemrograman Python: Memahami Perulangan

Perualangan dalam bahasa pemrograman berfungsi menyuruh komputer melakukan sesuatu secara berulang-ulang. Terdapat dua jenis perualangan dalam bahasa pemrograman python, yaitu perulangan dengan for dan while. Perulangan for disebut counted loop (perulangan yang terhitung), sementara perulangan while disebut uncounted loop (perulangan yang tak terhitung). Perbedaannya adalah perulangan for biasanya digunakan untuk mengulangi kode yang sudah diketahui banyak perulangannya. Sementara while untuk perulangan yang memiliki syarat dan tidak tentu berapa banyak perulangannya.

Belajar Pemrograman Python: Memahami Percabangan untuk Membuat Logika Program

Belajar Pemrograman Python: Memahami Percabangan untuk Membuat Logika Program

Mungkin kalian akan bertanya: Apa itu percabangan dan kenapa dinamakan percabangan? Buat yang belum pernah kuliah atau belajar tentang algoritme dan flowchart, mungkin ini istilah yang baru pertama kamu dengar. Isitilah ini sebenarnya untuk menggambarkan alur program yang bercabang. Pada flow chart, logika “jika…maka” digambarkan dalam bentuk cabang. Karena itu, ini disebut percabangan. Selain percabangan, struktur ini juga disebut control flow, decision, struktur kondisi, Struktur if, dsb.

Belajar Pemrograman Python: Mengenal 6 Jenis Operator dalam Python

Belajar Pemrograman Python: Mengenal 6 Jenis Operator dalam Python

Setelah kita mengenal variabel dan tipe data pada Python, selanjutnya kita akan berkenalan dengan Operator. Apa itu operator? Operator merupakan simbol-simbol yang digunakan untuk melakukan operasi tertentu. Ada enam jenis operator dalam pemrograman yang wajib diketahui: Operator Aritmatika Operator Pembanding/Relasi Operator Penugasan Opeartor Logika Operator Bitwise Operator Ternary Mari kita bahas semuanya… 1. Operator AritmatikaOpeartor aritmatika termasuk dalam operator yang paling sering digunakan dalam pemrograman.

Belajar Pemrograman Python: Mengenal Variabel dan Tipe Data dalam Python

Belajar Pemrograman Python: Mengenal Variabel dan Tipe Data dalam Python

Pada kesempatan ini kita akan mempelajari tentang variabel dan tipe data pada Python. Pastikan sebelumnya sudah mengetahui cara membuat skrip atau program python. Pengertian Variabel dan Tipe DataVariabel merupakan tempat menyimpan data, sedangkan tipe data adalah jenis data yang terseimpan dalam variabel. Variabel bersifat mutable, artinya nilainya bisa berubah-ubah. Membuat Variabel di PythonVariabel di python dapat dibuat dengan format seperti ini:

Belajar Pemrograman Python: Pengenalan Dasar Python dan Persiapan Awal

Belajar Pemrograman Python: Pengenalan Dasar Python dan Persiapan Awal

Mau belajar bahasa pemrograman python, tapi masih bingung mulainya dari mana? Artikel ini akan membahasnya, dari pengenalan Python dan persiapan awalnya sampai tuntas.