wxPython チェックボックスを使ったサンプル / wx.CheckBox Example

2021年7月16日金曜日

Python wxPython wxPythonサンプル サンプル

t f B! P L

今回の内容

今回はチェックボックスを使ったサンプルを紹介します。
オンオフだけではなく、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()
wxPython チェックボックスを使ったサンプル / wx.CheckBox Example

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()
wxPython チェックボックスを使ったサンプル / wx.CheckBox Example

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()
wxPython チェックボックスを使ったサンプル / wx.CheckBox Example
チェックボックスにチェックを入れるとパスワードが表示されます。

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()
wxPython チェックボックスを使ったサンプル / wx.CheckBox Example

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

wxPython チェックボックスを使ったサンプル / wx.CheckBox Example



今回はここまで。チェックボックスもよく使われると思うので、覚えておいても損はありません。
コメント、シェア、お願いします!

このブログを検索

要望について

ブログのレイアウトやテーマについての提案をいただきました。現在qooqテーマを適応中です。 語尾を自動でつけるプログラムを作りたいという要望をいただきました。是非紹介したいですがどの言語でどのようなプログラムかなど、お問い合わせフォームで詳しく教えてください!

最近の出来事

最近の出来事
寿司打お勧め75位♪(練習モードだけど)

アンケート

Welcome!

「プログラミング独学ブログ」へようこそ。 Yakinyといいます。幅広い範囲で投稿していますので、ぜひ過去の記事も見てみてください!!コメントも大歓迎です!更新がとまってしまって申し訳ございません

お問い合わせ

名前

メール *

メッセージ *

QooQ