7.4. Button Radio

Button radio mirip dengan button check dengan perbedaan pada perilakunya jika beberapa button radio membentuk satu kelompok. Jika button yang lainnya berlaku secara individu maka beberapa button radio dapat membentuk satu kelompok. Dalam satu kelompok, hanya ada satu button radio yang dapat Active. Jika kita klik button radio yang lain dalam kelompok tersebut maka button yang diklik tersebut akan Active dan button yang sebelumnya Active akan menjadi tidak Active. Hal ini juga berarti terjadinya dua emisi signal yaitu signal 'toggled' untuk masing-masing button.

Untuk membuat button radio dapat kita gunakan fungsi :

    gtk.RadioButton(group=None,label=None)

Untuk button radio yang pertama kita sertakan None sebagai milai parameter group. Untuk membuat button radio yang kedua tapi dalam satu kelompok dengan button radio yang pertama maka kita sertakan button radio yang pertama sebagai parameter group dari button radio kedua. Begitu juga selanjutnya untuk button radio yang ketiga parameter groupnya adalah button radio kedua. Jika kita tidak secara eksplisit memilih mana button radio yang Active dalam kelompok maka button radio pertama akan Active secara default.

Contoh program radiobuttons.py akan menampilkan window seperti berikut :

Gambar 7.4. Button Radio

Button Radio

Pada saat awal program berjalan, sudah ada output dari program. Tampak seperti kita telah melakukan klik pada button. Mengapa demikian ? Perhatikan source-code, pada waktu kita membuat button radio yang kedua kita menggunakan fungsi untuk menaktifkan button kedua. Pada saat inilah output dari program dicetak. Defaultnya button pertama yang Active, karena kita mengaktifkan button kedua maka signal 'toggled' pertama untuk perubahan dari Active ke tidak Active untuk button pertama dan signal 'toggled' kedua untuk perubahan dari tidak Active ke Active untuk button kedua.