はじめに
対象
Python3による開発経験のある方を対象としています.Python3プログラミングの基礎や開発環境の作り方,使い方は特に説明しません.
既にPython3とwxPythonがインストールされていることを前提としています.
wxPythonとは
wxPythonは,Python3から利用できるGUIツールキットです.
動作環境
動作確認に使用したバージョンは以下のとおりです。
Python 3.6.4
wxPython 4.0.1
windowを使う
単純なwindow表示
import wx
app = wx.App()
frame = wx.Frame(None, -1, 'Hello,World!',size=(500,500))
frame.Show()
app.MainLoop()
まず,import wx
を使ってwxモジュールのインポートを行います.もちろん,wxPythonをインストールしていないとImportErrorが発生します.
app = wx.App()
はwx.Appオブジェクトをインスタンス化しています.wxPythonを利用するため必須なインスタンス.
3行目は,親オブジェクト,ID,タイトルの引数でwx.Frameオブジェクトをインスタンス化しています.また,sizeはwindowのサイズ(幅×高さ)となります.
frame.Show()
はwx.FrameクラスのShow関数を呼び出すことによって,作成されたフレームが可視化されます.window_display.pyの実行結果は下の図となります.
app.MainLoop()
はwx.AppのMainLoop関数を呼び出しを行い,イベントのキャッチを開始します.この行をコメントアウトして再実行すると,フレームが一瞬表示されたあと,アプリケーションが終了してしまいます.
追記:
今回のサンプルコードではwx.Appクラスを引数なしでインスタンス化していますが,最大で4つの引数を渡すことができます.以下の4つのappをそれぞれ試してください.
import wx
(1) app = wx.App()
(2) app = wx.App(False)
(3) app = wx.App(True,"出力ファイルパス")
(4) app = wx.App(True,None)
frame = wx.Frame(None, -1, 'Hello,World!',size=(500,500))
frame.Show()
print("Welcome")
app.MainLoop()
予約済みID
以下のサンプルコードは予約済みIDを利用したwx.Buttonの例です.
import wx
app = wx.App(False)
frame = wx.Frame(None, -1, 'Hello,World!' ,size=(300,100))
wx.Button(frame, wx.ID_OPEN, pos=(10,10) ,label="開く")
wx.Button(frame, wx.ID_CLOSE, pos=(10,40))
wx.Button(frame, wx.ID_NEW, pos=(100,10))
wx.Button(frame, wx.ID_SAVE, pos=(100,40))
wx.Button(frame, wx.ID_HELP, pos=(200,40))
frame.Show()
app.MainLoop()
下の図は実行結果となります.
wx.ID_OPEN,wx.ID_CLOSE,wx.ID_NEWなどは「予約済みIDとなります.
posはボタンの配置座標(縦×横)となります.
labelはボタンのラベル名となります.
今回のwxPythonを使ってみる(1)は以上で終わります.
読んでいただいてありがとうございます.
また今度で会いましょ!