PyGTK - स्पिनबटन क्लास

स्पिनबटन विजेट, जिसे अक्सर स्पिनर कहा जाता है, अपने दाईं ओर ऊपर और नीचे तीर के साथ एक gtk.Entry विजेट है। एक उपयोगकर्ता सीधे इसमें एक संख्यात्मक मान टाइप कर सकता है या ऊपर और नीचे तीर का उपयोग करके वेतन वृद्धि या गिरावट कर सकता है। Gtk.SpinButton वर्ग gtk.Entry वर्ग से विरासत में मिला है। यह एक gtk.Adjustment ऑब्जेक्ट का उपयोग करता है जिसके साथ स्पिनर में संख्यात्मक मान की सीमा और चरण को प्रतिबंधित किया जा सकता है।

SpinButton विजेट निम्नलिखित कंस्ट्रक्टर का उपयोग करके बनाया गया है -

sp = gtk.SpinButton(adj, climb_rate, digits)

यहाँ, adj प्रतिनिधित्व करता है gtk.Adjustment object controlling range, climb_rate एक त्वरण कारक और अंकों द्वारा निर्दिष्ट दशमलव की संख्या है।

Gtk.SpinButton वर्ग के निम्नलिखित तरीके हैं -

  • SpinButton.set_adjustment () - यह "समायोजन" गुण सेट करता है।

  • SpinButton.set_digits () - यह स्पिनबटन द्वारा प्रदर्शित की जाने वाली दशमलव स्थानों की संख्या निर्धारित करने के लिए "अंक" गुण सेट करता है।

  • SpinButton.set_increments (चरण, पृष्ठ) - यह चरण मान सेट करता है जिसमें प्रत्येक बाईं माउसबटन प्रेस और पृष्ठ मान के लिए लागू वेतन वृद्धि होती है जो प्रत्येक मध्य माउसबटन प्रेस के लिए लागू वेतन वृद्धि है।

  • SpinButton.set_range () - यह स्पिनबटन के लिए न्यूनतम और अधिकतम स्वीकार्य मान सेट करता है।

  • SpinButton.set_value () - यह स्पिन बटन को प्रोग्रामेटिक रूप से एक नए मान पर सेट करता है।

  • SpinButton.update_policy () - मान्य मान gtk.UPDATE_ALWAYS और gtk.UPDATE_VALID हैं

  • स्पिनबटन.स्पिन (दिशा, वृद्धि = 1) - यह वेतन वृद्धि या निर्दिष्ट दिशा में स्पिनर के मूल्य को घटाता है।

पूर्वनिर्धारित दिशा स्थिरांक निम्नलिखित हैं -

gtk.SPIN_STEP_FORWARD step_increment द्वारा आगे
gtk.SPIN_STEP_BACKWARD step_increment द्वारा पिछड़ा हुआ
gtk.SPIN_PAGE_FORWARD step_increment द्वारा आगे
gtk.SPIN_PAGE_BACKWARD step_increment द्वारा पिछड़ा हुआ
gtk.SPIN_HOME न्यूनतम मूल्य पर जाएं
gtk.SPIN_END अधिकतम मूल्य पर जाएं
gtk.SPIN_USER_DEFINED मूल्य में वृद्धि जोड़ें
  • SpinButton.set_wrap () - यदि रैप सत्य है, तो स्पिन बटन मान रेंज के ऊपरी या निचले सीमा से अधिक होने पर विपरीत सीमा के आसपास लपेटता है।

Gtk.SpinButton विजेट निम्नलिखित संकेतों का उत्सर्जन करता है -

बदलते सिद्धांत बदलते मूल्य, बदलती कीमत यह तब उत्सर्जित होता है जब कीबोर्ड क्रिया द्वारा स्पिनबटन मूल्य को बदल दिया जाता है
इनपुट यह तब बदला जाता है जब मूल्य बदल जाता है।
उत्पादन यह उत्सर्जित होता है जब स्पिनबटन प्रदर्शन मूल्य बदल जाता है। रिटर्नTrue यदि हैंडलर सफलतापूर्वक पाठ सेट करता है और आगे की प्रक्रिया की आवश्यकता नहीं है।
मूल्य-बदल यह तब उत्सर्जित होता है जब स्पिनबटन के प्रदर्शन को बदलने वाली किसी भी सेटिंग को बदल दिया जाता है।
लपेटा हुआ स्पिनबटन के अधिकतम से न्यूनतम मूल्य या इसके विपरीत तक लपेटने के बाद यह सही उत्सर्जित होता है।

उदाहरण

निम्नलिखित उदाहरण एक सरल निर्माण करता है Date Selectorतीन स्पिनबटन विजेट का उपयोग करके। डे सिलेक्टर को एडजस्टमेंट ऑब्जेक्ट को 1-31 के बीच वैल्यू को प्रतिबंधित करने के लिए लगाया जाता है। दूसरा चयनकर्ता महीने की संख्या 1-12 के लिए है। तीसरे चयनकर्ता वर्ष रेंज 2000-2020 का चयन करता है।

कोड का निरीक्षण करें -

import gtk

class PyApp(gtk.Window):
   
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("SpinButton Demo")
      self.set_size_request(300, 200)
      self.set_position(gtk.WIN_POS_CENTER)
      self.set_border_width(20)
		
      vbox = gtk.VBox(False, 5)
      hbox = gtk.HBox(True, 3)
      lbl1 = gtk.Label("Date")
      hbox.add(lbl1)
		
      adj1 = gtk.Adjustment(1.0, 1.0, 31.0, 1.0, 5.0, 0.0)
      spin1 = gtk.SpinButton(adj1, 0, 0)
      spin1.set_wrap(True)
		
      hbox.add(spin1)
      lbl2 = gtk.Label("Month")
      hbox.add(lbl2)
		
      adj2 = gtk.Adjustment(1.0, 1.0, 12.0, 1.0, 5.0, 0.0)
      spin2 = gtk.SpinButton(adj2, 0, 0)
      spin2.set_wrap(True)
		
      hbox.add(spin2)
      lbl3 = gtk.Label("Year")
      hbox.add(lbl3)
		
      adj3 = gtk.Adjustment(1.0, 2000.0, 2020.0, 1.0, 5.0, 0.0)
      spin3 = gtk.SpinButton(adj3, 0, 0)
      spin3.set_wrap(True)
      hbox.add(spin3)
		
      frame = gtk.Frame()
      frame.add(hbox)
      frame.set_label("Date of Birth")
		
      vbox.add(frame)
      self.add(vbox)
      self.connect("destroy", gtk.main_quit)
      self.show_all()
PyApp()
gtk.main()

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