今回の内容
今回はチェックボックスを使ったサンプルを紹介します。オンオフだけではなく、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 件のコメント:
コメントを投稿