PyGTK - टॉगलबटन क्लास

ToggleButton विजेट दो राज्यों के साथ gtk.Button है - a pressed or active (या पर) राज्य और ए normal or inactive (or off)राज्य। जब भी बटन दबाया जाता है, राज्य वैकल्पिक होता है। ToggleButton की स्थिति को set_active () विधि द्वारा प्रोग्रामेटिक रूप से बदला जा सकता है। बटन की स्थिति को स्विच करने के लिए, टॉगल () विधि भी उपलब्ध है।

Gtk.ToggleButton वर्ग में निम्नलिखित निर्माता हैं -

gtk.ToggleButton(label = None, use_underline = True)

यहां, लेबल बटन पर प्रदर्शित होने वाली परीक्षा है। Use_underline प्रॉपर्टी, यदि सही है, तो टेक्स्ट में एक अंडरस्कोर इंगित करता है कि अगले वर्ण को अंडरलाइन किया जाना चाहिए और इसका उपयोग मेनेमोनिक एक्सिलरेटर के लिए किया जाना चाहिए।

Gtk.ToggleButton वर्ग के कुछ महत्वपूर्ण तरीके निम्नलिखित तालिका में दिए गए हैं -

सक्रिय नियत करें() यह सेट करता है active के मूल्य पर संपत्ति True (सक्रिय या दबाया या पर) या False (निष्क्रिय या सामान्य या बंद)
सक्रिय बनो() यह बटन की स्थिति को पुनः प्राप्त करता है
चालू किए जाने () यह टॉगलबटन पर "टॉगल" सिग्नल का उत्सर्जन करता है।

ToggleButton विजेट निम्नलिखित सिग्नल का उत्सर्जन करता है -

टॉगल यह तब उत्सर्जित होता है जब टॉगलबटन स्थिति या तो प्रोग्रामेटिक रूप से या उपयोगकर्ता क्रिया द्वारा बदल जाती है।

नीचे दिया गया कोड ToggleButton विगेट्स के उपयोग को दर्शाता है।

दो ToggleButtons और लेबल विजेट एक VBox कंटेनर में रखे गए हैं। Button1 द्वारा उत्सर्जित टॉगल सिग्नल on_toggled () के कॉलबैक फ़ंक्शन से जुड़ा है। इस फ़ंक्शन में, Button2 की स्थिति True पर सेट होती है यदि Button1 की स्थिति गलत और इसके विपरीत है।

if self.btn1.get_active() == True:
   self.btn2.set_active(False)
else:
   self.btn2.set_active(True)

यह लेबल पर बटन की तात्कालिक स्थिति प्रदर्शित करता है।

उदाहरण

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

import gtk

 PyApp(gtk.Window):
   
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Toggle Button")
      self.set_default_size(250, 200)
      self.set_position(gtk.WIN_POS_CENTER)
      
      vbox = gtk.VBox()
      self.btn1 = gtk.ToggleButton("Button 1")
      self.btn1.connect("toggled", self.on_toggled)
      self.btn2 = gtk.ToggleButton("Button 2")
      self.lbl = gtk.Label()
      
      vbox.add(self.btn1)
      vbox.add(self.btn2)
      vbox.add(self.lbl)
      self.add(vbox)
      self.connect("destroy", gtk.main_quit)
      self.show_all()
   
   def on_toggled(self, widget, data = None):
      if self.btn1.get_active() == True:
         self.btn2.set_active(False)
      else:
         self.btn2.set_active(True)
         state = "Button1 : "+str(self.btn1.get_active())+" 
         Button2 : "+str(self.btn2.get_active())
         self.lbl.set_text(state)
if __name__ == '__main__':
   PyApp()
   gtk.main()

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