PyGTK - रेडियोबटन क्लास

एक एकल रेडियोबटन विजेट चेकबटन के समान कार्यक्षमता प्रदान करता है। हालांकि, जब एक से अधिक रेडियो बटन एक ही कंटेनर में मौजूद होते हैं, तो उपयोगकर्ता के लिए एक पारस्परिक रूप से अनन्य विकल्प उपलब्ध विकल्पों में से किसी एक को चुनने के लिए उपलब्ध होता है। यदि कंटेनर में प्रत्येक रेडियो बटन एक ही समूह का है, तो जैसा कि एक का चयन किया जाता है, दूसरों को स्वचालित रूप से हटा दिया जाता है।

निम्नलिखित gtk.RadioButton वर्ग का एक निर्माता है -

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

बटन समूह बनाने के लिए, प्रदान करें group=None पहले रेडियो बटन के लिए, और बाद के विकल्पों के लिए, समूह के रूप में पहले बटन की वस्तु प्रदान करें।

जैसे कि टॉगलबटन और चेकबटन के मामले में, रेडियोबटन भी निकलता है the toggled signal। नीचे दिए गए उदाहरण में, gtk.RadioButton विजेट की तीन वस्तुओं को एक VBox में रखा गया है। उन सभी को toggled सिग्नल को संसाधित करने के लिए on_selected () पर कॉलबैक फ़ंक्शन से जोड़ा जाता है।

कॉलबैक फ़ंक्शन स्रोत RadioButton विजेट के लेबल की पहचान करता है और इसे VBox में डाले गए लेबल पर प्रदर्शित करता है।

उदाहरण

निम्नलिखित कोड देखें -

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()

उपरोक्त कोड निम्नलिखित आउटपुट उत्पन्न करेगा -