今回の内容
今回はチェックボックスを使ったサンプルを紹介します。オンオフだけではなく、3パターンになるモードもあるようです。
1.シンプル
import wx app = wx.App(0) frame = wx.Frame(None,-1,"ウィンドウ") panel = wx.Panel(frame,-1) checkbox = wx.CheckBox(panel,-1,"チェックボックス",pos=(5,5)) frame.Show(True) app.MainLoop()
2.ボタンで取得
import wx
def onButton(event=None):
check = checkbox.GetValue()
if check:
wx.MessageBox("チェックされています。","情報")
else:
wx.MessageBox("チェックされていません。","情報")
app = wx.App(0)
frame = wx.Frame(None,-1,"ウィンドウ")
panel = wx.Panel(frame,-1)
checkbox = wx.CheckBox(panel,-1,"チェックボックス",pos=(5,5))
button = wx.Button(panel,-1,"確認",pos=(5,45))
button.Bind(wx.EVT_BUTTON,onButton) #ボタンのクリックイベントを設定する
frame.Show(True)
app.MainLoop()
3.パスワードボックスのようにする
import wx
def onCheckBox(event=None):
check = checkbox.GetValue()
if check: #チェックされていたら
text = textctrl.GetValue()
textctrl.Hide() #パスワードボックスを隠す
textctrl_n.Show() #普通のテキストボックスを表示
textctrl_n.SetValue(text)
else: #チェックされていなかったら
text = textctrl_n.GetValue()
textctrl_n.Hide() #普通のテキストボックスを隠す
textctrl.Show() #パスワードボックスを表示
textctrl.SetValue(text)
app = wx.App(0)
frame = wx.Frame(None,-1,"ウィンドウ")
panel = wx.Panel(frame,-1)
textctrl = wx.TextCtrl(panel,-1,"",pos=(5,5),style=wx.TE_PASSWORD,size=(200,-1)) #パスワードボックス
textctrl_n = wx.TextCtrl(panel,-1,"",pos=(5,5),size=(200,-1)) #普通のテキストボックス
textctrl_n.Hide() #普通のテキストボックスは隠しておく
checkbox = wx.CheckBox(panel,-1,"パスワードを表示する",pos=(5,45)) #チェックボックスの作成
checkbox.Bind(wx.EVT_CHECKBOX,onCheckBox) #チェックが変更されたときに呼び出す
frame.Show(True)
app.MainLoop()
チェックボックスにチェックを入れるとパスワードが表示されます。
4.3段階のチェックボックス
import wx
def onCheckBox(event=None):
check = checkbox.Get3StateValue()
wx.MessageBox("チェックボックスの状態は" + str(check) + "です。","お知らせ")
app = wx.App(0)
frame = wx.Frame(None,-1,"フレーム")
panel = wx.Panel(frame,-1)
checkbox = wx.CheckBox(panel,-1,"チェックボックス",pos=(5,5)
style=wx.CHK_3STATE| wx.CHK_ALLOW_3RD_STATE_FOR_USER)
checkbox.Bind(wx.EVT_CHECKBOX,onCheckBox)
frame.Show(True)
app.MainLoop()
5.CheckBoxで有効/無効設定
import wx
def onCheckBox(event=None):
check = checkbox.GetValue()
if check:
checkbox2.Enable()
else:
checkbox2.Disable()
def onCheckBox3(event=None):
check = checkbox3.GetValue()
if check:
textctrl.Enable()
else:
textctrl.Disable()
app = wx.App(0)
frame = wx.Frame(None,-1,"チェックボックス",size=(400,300))
panel = wx.Panel(frame,-1)
checkbox = wx.CheckBox(panel,-1,"チェックボックスを有効にする",pos=(5,5))
checkbox.Bind(wx.EVT_CHECKBOX,onCheckBox)
checkbox2 = wx.CheckBox(panel,-1,"チェックボックスです",pos=(5,40))
checkbox2.Disable() #無効にしておく
checkbox3 = wx.CheckBox(panel,-1,"テキストボックスを有効にする",pos=(5,75))
checkbox3.Bind(wx.EVT_CHECKBOX,onCheckBox3)
textctrl = wx.TextCtrl(panel,-1,"",pos=(5,120))
textctrl.Disable() #無効にしておく
frame.Show(True)
app.MainLoop()
今回はここまで。チェックボックスもよく使われると思うので、覚えておいても損はありません。
コメント、シェア、お願いします!





0 件のコメント:
コメントを投稿