PyGTK - Classe CheckButton

Un widget CheckButton non è altro che un ToggleButton disegnato come una casella di controllo e un'etichetta. Eredita tutte le proprietà e i metodi dalla classe ToggleButton. A differenza di ToggleButton in cui la didascalia si trova sulla faccia del pulsante, un CheckButton mostra un quadratino che è controllabile e ha un'etichetta alla sua destra.

Costruttore, metodi e segnali associati a gtk.CheckButton sono esattamente gli stessi di gtk.ToggleButton.

Esempio

L'esempio seguente mostra l'uso del widget CheckButton. Due CheckButtons e un'etichetta vengono inseriti in un VBox. Il segnale attivato / disattivato del primo CheckButton è connesso al metodo on_checked () che imposta lo stato del secondo pulsante su True se quello del primo è falso e viceversa.

Rispetta il codice -

import gtk

class PyApp(gtk.Window):
   
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Check Button")
      self.set_default_size(250, 200)
      self.set_position(gtk.WIN_POS_CENTER)

      vbox = gtk.VBox()
      self.btn1 = gtk.CheckButton("Button 1")
      self.btn1.connect("toggled", self.on_checked)
      self.btn2 = gtk.CheckButton("Button 2")
      self.btn2.connect("toggled", self.on_checked)
      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_checked(self, widget, data = None):
      state = "Button1 : "+str(self.btn1.get_active())+" 
         Button2 : "+str(self.btn2.get_active())
      self.lbl.set_text(state)
if __name__ == '__main__':
   PyApp()
   gtk.main()

Il codice sopra genererà il seguente output: