7.2. Button Toggle

Button toggle adalah button yang selalu berada dalam salah satu dari dua kondisi. Setiap klik pada button akan merubah dari kondisi satu ke kondisi lainnya.

Untuk membuat button toggle, terdapat fungsi :

    gtk.ToggleButton(label=None)

Terlihat sangat mirip dengan fungsi untuk membuat button biasa. Jika text label=None tidak disertakan maka tidak ada text dalam button.

Dua kondisi button tersebut adalah Active atau tidak Active. Pada waktu pertama dibuat button akan dalam kondisi tidak Active. Selanjutnya untuk mengetahui apakah button dalam kondisi Active atau tidak, kita gunakan method get_active(). Sedangkan signal yang diemisi setiap kali terjadi perubahan kondisi yaitu signal 'toggled'. Jadi untuk menangkap setiap perubahan kondisi fungsi callbacknya kira-kira akan seperti ini :

    def toggle_button_callback(widget, data):
      if widget.get_active():
          # Jika sampai di sini, button toggle dalam keadaan active
      else:
          # Jika sampai di sini, button toggle dalam keadaan _tidak_ active

Source-code seperti ini juga berlaku untuk widget turunan dari button toggle yaitu : button check dan button radio.

Sedangkan untuk memaksa button sehingga dalam kondisi tertentu kita gunakan method :

    toggle_button.set_active(is_active)

is_active adalah parameter dengan tipe boolean. Jika kita isi is_active dengan nilai TRUE maka button dalam kondisi Active. Perlu diperhatikan jika pada saat method set_active() digunakan dan kondisi button berubah maka signal 'clicked' dan 'toggled' akan diemisi.

Program togglebutton.py adalah contoh penggunaan button toggle. Perhatikan method callback dan koneksi signal 'toggled'. Pada waktu program dijalankan melalui console, perhatikan juga print-out dari out-put program setiap kali button diklik.

Program akan tampak seperti berikut :

Gambar 7.2. Button Toggle

Button Toggle