wxPython ボタン を使ったサンプル / wx.Button Example

2021年6月28日月曜日

Python wxPython wxPythonサンプル サンプル

t f B! P L

今回の内容

ボタンを利用した様々なサンプルを出していきたいと思います。
ボタンは、他のウィジェットと組み合わせて使うと便利なので、今回はボタンだけではなくて、他のウィジェットと組み合わせて利用する
という感じにしたいと思います。(1・2番を除く)

1. ボタンのみ、クリックされたらメッセージボックス

import wx
def onButton1(event=None):
    wx.MessageBox("サンプルボタン1がクリックされました","タイトルです",wx.ICON_WARNING)
def onButton2(event=None):
    wx.MessageBox("サンプルボタン2がクリックされました","タイトルだよ",wx.ICON_INFORMATION)
app = wx.App(0)
frame = wx.Frame(None,-1,"サンプル1",size=(500,300))
panel = wx.Panel(frame,-1)
button1 = wx.Button(panel,-1,"サンプルボタン1")
button2 = wx.Button(panel,-1,"サンプルボタン2")
button1.Bind(wx.EVT_BUTTON, onButton1)
button2.Bind(wx.EVT_BUTTON, onButton2)
sizer = wx.BoxSizer(wx.HORIZONTAL)
#縦並びにしたい場合:
#sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(button1)
sizer.Add(button2)
panel.SetSizer(sizer)
frame.Show(True)
app.MainLoop()
サンプル1の実行結果:
wxPython ボタンを使ったサンプル

2. ボタンのみ、クリック後、テキスト変更

import wx
def onButton1(event=None):
    button1.SetLabel("クリックされました") #ボタンのテキスト変更
    frame.SetTitle("クリックされました!!") #ウィンドウタイトルの変更
app = wx.App(0)
frame = wx.Frame(None,-1,"サンプル2",size=(500,300))
panel = wx.Panel(frame,-1)
button1 = wx.Button(panel,-1,"サンプルボタン")
button1.Bind(wx.EVT_BUTTON, onButton1)
frame.Show(True)
app.MainLoop()
サンプル2の実行結果:
wxPython ボタンを使ったサンプル

3.テキストコントロールとボタンを組み合わせる

import wx
def onButton1(event=None):
    text = textctrl1.GetValue()
    wx.MessageBox("「" + text + "」と入力されました","タイトルです",wx.ICON_INFORMATION)
app = wx.App(0)
frame = wx.Frame(None,-1,"サンプル3",size=(500,300))
panel = wx.Panel(frame,-1)
textctrl1 = wx.TextCtrl(panel,-1,"デフォルトの文字",pos=(5,10),size=(300,-1))
button1 = wx.Button(panel,-1,"表示",pos=(5,70))
button1.Bind(wx.EVT_BUTTON,onButton1)
frame.Show(True)
app.MainLoop()
サンプル3の実行結果:
wxPython ボタンを使ったサンプル

4.スタティックテキストとボタンを組み合わせる

import wx
def onButton1(event=None):
    label1.SetLabel("クリックされました")
    label1.SetBackgroundColour("yellow") #スタティックテキストの背景色を設定
    panel.Refresh() #反映されないバグを防ぐ
app = wx.App(0)
frame = wx.Frame(None,-1,"サンプル4",size=(500,300))
panel = wx.Panel(frame,-1)
label1 = wx.StaticText(panel,-1,"スタティックテキストで~す",pos=(5,10))
button1 = wx.Button(panel,-1,"Click Me!",pos=(5,60))
button1.Bind(wx.EVT_BUTTON,onButton1)
frame.Show(True)
app.MainLoop()
サンプル4の実行結果:
wxPython ボタンを使ったサンプル

ここまでにしときます。
ボタンは他のサンプルにめちゃくちゃでやすいので、今回はここまで!!
コメント気軽にどうぞ!!!

このブログを検索

要望について

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

最近の出来事

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

アンケート

Welcome!

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

お問い合わせ

名前

メール *

メッセージ *

QooQ