中でも「wxPython」はプリインストールされている「tkinter」よりも使い勝手・自由度が高く、人気があるようです。
当ブログではそんな「wxPython」を用いてpythonでGUIツールを作成する方法を少しずつご紹介していきます。
- - - - - - - - - - - - - - - - - - - - - - - - - -
今回は基本的なウィジットのひとつである”ボタン“について書いていきます。
<結果>
上記スクリプト内で、過去に解説した内容については省略致します。
ご確認いただきたい場合は、~基礎編~をご覧ください。
続いて詳細を見ていきます。
~~詳細~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
引数は(親ウィジット、識別子、指定文字列)です。
今回は省略していますが、引数には設置位置(pos)とサイズ(size)を指定することもできます。
また、ボタン作成時にスタイルを指定することによって、文字列の表示位置を設定することができます。
※表示位置の指定がない場合は、デフォルトで中央となります。
1.上寄せ
2.下寄せ
3.左寄せ
4.右寄せ
この関数は事前に作成しておく必要があります。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
今回はボタンの作成方法、イベントの呼び出し方法についてご紹介しました。
GUIツールを作成する際、ボタンは必ずといっていいほど使用します。
基本的なウィジットだからこそ、しっかり覚えておきましょう。
==================================================================
環 境:Python 2.7.9 / Windows7
==================================================================
この記事が参考になりましたら、シェア・フォロー・おすすめしていただけると励みになります! \(^o^)/
==================================================================
今回は基本的なウィジットのひとつである”ボタン“について書いていきます。
# -*- coding: utf-8 -*-
import wx
# ボタンのクリックイベント関数
def click(event):
frame.SetStatusText("button was Click!!")
app = wx.App()
frame = wx.Frame(None, -1, u'タイトル', size=(200, 200))
frame.CreateStatusBar()
panel = wx.Panel(frame, -1)
# ボタン1の設置
button_1 = wx.Button(panel, -1, u'ボタン')
# ボタンのクリックイベント
button_1.Bind(wx.EVT_BUTTON, click)
frame.Show()
app.MainLoop()
<結果>
ボタンをクリックしたところ |
上記スクリプト内で、過去に解説した内容については省略致します。
ご確認いただきたい場合は、~基礎編~をご覧ください。
続いて詳細を見ていきます。
~~詳細~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ボタン1の設置
button_1 = wx.Button(panel, -1, u'ボタン')
ボタンを作成(インスタンス化)するにはwx.Buttonクラスを使用します。引数は(親ウィジット、識別子、指定文字列)です。
今回は省略していますが、引数には設置位置(pos)とサイズ(size)を指定することもできます。
また、ボタン作成時にスタイルを指定することによって、文字列の表示位置を設定することができます。
※表示位置の指定がない場合は、デフォルトで中央となります。
1.上寄せ
button_1 = wx.Button(panel, -1, u'ボタン', style=wx.BU_TOP)
2.下寄せ
button_1 = wx.Button(panel, -1, u'ボタン', style=wx.BU_BOTTOM)
3.左寄せ
button_1 = wx.Button(panel, -1, u'ボタン', style=wx.BU_LEFT)
4.右寄せ
button_1 = wx.Button(panel, -1, u'ボタン', style=wx.BU_RIGHT)
# ボタンのクリックイベント
button_1.Bind(wx.EVT_BUTTON, click)
ボタンがクリックされたときに呼び出す関数を指定します。この関数は事前に作成しておく必要があります。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
今回はボタンの作成方法、イベントの呼び出し方法についてご紹介しました。
GUIツールを作成する際、ボタンは必ずといっていいほど使用します。
基本的なウィジットだからこそ、しっかり覚えておきましょう。
==================================================================
環 境:Python 2.7.9 / Windows7
==================================================================
この記事が参考になりましたら、シェア・フォロー・おすすめしていただけると励みになります! \(^o^)/
==================================================================
ほかのコントロールもですが、カーソルがボタンの上に乗ったらカーソルアイコンを
返信削除手のようなアイコン(?)にしたいです。
コメントありがとうございます!
返信削除カーソルを変化させるにはwx.Cursorクラスを使用します。
まず、対象のウィジット(今回はボタン)に対して、wx.EVT_ENTER_WINDOWイベントとwx.EVT_LEAVE_WINDOWイベントを準備します。
button_1.Bind(wx.EVT_ENTER_WINDOW, enter)
button_1.Bind(wx.EVT_LEAVE_WINDOW, leave)
そして、それぞれのイベント内容を記述します。
def enter(event):
____# マウスが入ってきたとき
____frame.SetCursor(wx.Cursor(wx.CURSOR_WAIT))
def leave(event):
____# マウスが出ていったとき
____frame.SetCursor(wx.Cursor(wx.CURSOR_ARROW))
他のカーソル形態については下記URLをご覧ください。
https://wxpython.org/Phoenix/docs/html/wx.StockCursor.enumeration.html
早速のご返信をありがとうございます!!
削除とても分かりやすく、参考になりました!!