Wxpython-wx-checkbox-class

提供:Dev Guides
移動先:案内検索

wxPython-CheckBoxクラス

  • チェックボックス*は、小さなラベルの付いた長方形のボックスを表示します。 クリックすると、選択が行われたことを示すチェックマークが長方形の内側に表示されます。 ユーザーが複数の選択を許可される場合、ラジオボタンよりもチェックボックスが優先されます。 この場合、3番目の状態は混合または未決定状態と呼ばれ、一般に「適用しない」シナリオで使用されます。

通常、チェックボックスオブジェクトには2つの状態(チェック済みまたは未チェック)があります。 適切なスタイルパラメータが指定されている場合は、* Tristateチェックボックス*も作成できます。

wx.CheckBoxクラスのコンストラクタは、次のパラメータを取ります-

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

次のスタイルパラメータ値を使用することができます-

S.N. Parameters & Description
1

wx.CHK_2STATE

2つの状態のチェックボックスを作成します。 デフォルト

2

wx.CHK_3STATE

3つの状態のチェックボックスを作成します

3

wx.ALIGN_RIGHT

チェックボックスの左側にボックスラベルを配置します

このクラスには2つの重要なメソッドがあります-GetState()は、チェックボックスがチェックされているかどうかに応じてtrueまたはfalseを返します。 SetValue()は、チェックボックスをプログラムで選択するために使用されます。

wx.EVT_CHECKBOXは、利用可能な唯一のイベントバインダーです。 関連するイベントハンドラーは、フレームのチェックボックスがオンまたはオフになるたびに呼び出されます。

以下は、3つのチェックボックスの使用を示す簡単な例です。 ハンドラー関数OnChecked()は、イベントを処理し、その状態を表示するチェックボックスを識別します。

完全なコードは-

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

上記のコードは、次の出力を生成します-

チェックボックス出力

値AがクリックされるTrue

値BがクリックされるTrue

値CがTrueにクリックされた

値BがクリックされたFalse