wxPython - Classe CheckBox

UNE checkboxaffiche une petite boîte rectangulaire étiquetée. Lorsque vous cliquez dessus, une coche apparaît à l'intérieur du rectangle pour indiquer qu'un choix est fait. Les cases à cocher sont préférées aux boutons radio lorsque l'utilisateur doit être autorisé à faire plus d'un choix. Dans ce cas, le troisième état est appelé état mixte ou indéterminé, généralement utilisé dans le scénario «ne s'applique pas».

Normalement, un objet case à cocher a deux états (coché ou non coché). Tristate checkbox peut également être construit si le paramètre de style approprié est donné.

Le constructeur de classe wx.CheckBox prend les paramètres suivants -

Wx.CheckBox(parent, id, label, pos, size, style)

Les valeurs de paramètre de style suivantes peuvent être utilisées -

SN Paramètres et description
1

wx.CHK_2STATE

Crée une case à cocher à deux états. Défaut

2

wx.CHK_3STATE

Crée une case à cocher à trois états

3

wx.ALIGN_RIGHT

Place une étiquette de boîte à gauche de la case à cocher

Cette classe a deux méthodes importantes - GetState () retourne true ou false selon que la case est cochée ou non. SetValue () est utilisé pour sélectionner une case à cocher par programme.

wx.EVT_CHECKBOX est le seul classeur d'événements disponible. Le gestionnaire d'événements associé sera appelé chaque fois qu'une case à cocher sur le cadre est cochée ou décochée.

Exemple

Voici un exemple simple illustrant l'utilisation de trois cases à cocher. La fonction de gestionnaire OnChecked () identifie la case à cocher, qui est responsable de l'événement et affiche son état.

Le code complet est -

import wx  
 
class Example(wx.Frame): 
            
   def __init__(self, parent, title): 
      super(Example, self).__init__(parent, title = title,size = (200,200)) 
         
      self.InitUI() 
		
   def InitUI(self):    
             
      pnl = wx.Panel(self) 
		  
      self.cb1 = wx.CheckBox(pnl, label = 'Value A',pos = (10,10)) 
      self.cb2 = wx.CheckBox(pnl, label = 'Value B',pos = (10,40)) 
      self.cb3 = wx.CheckBox(pnl, label = 'Value C',pos = (10,70)) 
		
      self.Bind(wx.EVT_CHECKBOX,self.onChecked) 
      self.Centre() 
      self.Show(True) 
      
   def onChecked(self, e): 
      cb = e.GetEventObject() 
      print cb.GetLabel(),' is clicked',cb.GetValue()
		
ex = wx.App() 
Example(None,'CheckBox') 
ex.MainLoop()

Le code ci-dessus produit la sortie suivante -

La valeur A est cliquée sur Vrai

La valeur B est cliquée sur Vrai

La valeur C est cliquée sur Vrai

La valeur B est cliquée sur False