PyGTK - Kelas RadioButton

Sebuah widget RadioButton menawarkan fungsionalitas yang mirip dengan CheckButton. Namun, bila lebih dari satu tombol radio ada dalam wadah yang sama, maka pilihan yang saling eksklusif tersedia bagi pengguna untuk memilih dari salah satu opsi yang tersedia. Jika setiap tombol radio dalam wadah milik grup yang sama, maka saat salah satu dipilih, yang lain secara otomatis batal dipilih.

Berikut ini adalah konstruktor kelas gtk.RadioButton -

gtk.RadioButton(group = None, Label = None, unerline = None)

Untuk membuat grup tombol, sediakan group=None untuk tombol Radio pertama, dan untuk opsi berikutnya, sediakan objek tombol pertama sebagai grup.

Seperti pada ToggleButton dan CheckButton, RadioButton juga memancarkan the toggled signal. Dalam contoh yang diberikan di bawah ini, tiga objek widget gtk.RadioButton ditempatkan di VBox. Semuanya terhubung ke fungsi panggilan balik on_selected (), untuk memproses sinyal yang diubah.

Fungsi panggilan balik mengidentifikasi label widget RadioButton sumber dan menampilkannya pada label yang diletakkan di VBox.

Contoh

Perhatikan kode berikut -

import gtk

class PyApp(gtk.Window):

   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Radio Button")
      self.set_default_size(250, 200)
      self.set_position(gtk.WIN_POS_CENTER)
      vbox = gtk.VBox()
      
      btn1 = gtk.RadioButton(None, "Button 1")
      btn1.connect("toggled", self.on_selected)
      btn2 = gtk.RadioButton(btn1,"Button 2")
      btn2.connect("toggled", self.on_selected)
      btn3 = gtk.RadioButton(btn1,"Button 3")
      btn3.connect("toggled", self.on_selected)
      
      self.lbl = gtk.Label()
      vbox.add(btn1)
      vbox.add(btn2)
      vbox.add(btn3)
      vbox.add(self.lbl)
      self.add(vbox)
      self.connect("destroy", gtk.main_quit)
      self.show_all()
   
   def on_selected(self, widget, data=None):
      self.lbl.set_text(widget.get_label()+" is selected")
if __name__ == '__main__':
   PyApp()
   gtk.main()

Kode di atas akan menghasilkan output berikut -