wxPythonの基本となるFrameのサンプルです。まずはFrameを生成し、そのFrame上に様々なものを配置していくのが主な流れとなります。
フレームの生成
まずは下記サンプルを実行してみましょう。
1 2 3 4 5 6 7 8 | import wx application = wx.App() frame = wx.Frame( None , wx.ID_ANY, 'テストフレーム' ) frame.Show() application.MainLoop() |
テストフレームというタイトルの何もないフレームが表示されたはずです。
では一つずつ何をしているのか見ていきましょう。
1 2 3 4 5 6 7 8 | import wx application = wx.App() frame = wx.Frame( None , wx.ID_ANY, 'テストフレーム' ) frame.Show() application.MainLoop() |
まずは3行目、この記述でアプリケーションの初期化を行います。wxPythonを使用したアプリケーションでは必ず必要です。5行目でFrameを生成しています。 引数はそれぞれ (親ウィンドウ, 識別子, タイトル)となりwx.ID_ANYは基本的に-1が入ります。次の6行目で生成したFrameの可視化を行う処理を呼び出します。最後の8行目の記述は、イベント待ち受け状態へ遷移する、といったところでしょうか。8行目の記述をコメントアウトしてアプリケーションを起動すると違いが良く分かると思います。
サイズの指定
表示サイズ指定は引数sizeを渡します。これで300×300のフレームが生成されます。
1 2 3 4 5 6 7 8 | import wx application = wx.App() frame = wx.Frame( None , wx.ID_ANY, 'テストフレーム' , size = ( 300 , 300 )) frame.Show() application.MainLoop() |
表示位置の指定
ディスプレイ内における表示位置の指定です。 引数posを渡します(下記サンプルの場合は画面左上へ表示されます)。画面中央へ表示する際はCentre呼び出しておくと中央へ表示されます。
1 2 3 4 5 6 7 8 9 10 | import wx application = wx.App() frame = wx.Frame( None , wx.ID_ANY, 'テストフレーム' , pos = ( 0 , 0 )) # 中央へ表示する場合 # frame.Centre() frame.Show() application.MainLoop() |
ステータスバーの利用
ステータスバーを利用する場合はCreateStatusBarを、ステータスバーに文字列を表示させるにはSetStatusTextを使用します。
1 2 3 4 5 6 7 8 9 10 11 12 | import wx application = wx.App() frame = wx.Frame( None , wx.ID_ANY, 'テストフレーム' ) frame.CreateStatusBar() frame.SetStatusText( 'python-izm.com' ) frame.Show() application.MainLoop() |
アイコンの割り当て
アイコンの割り当てはSetIconを使用します。
1 2 3 4 5 6 7 8 9 10 11 12 | import wx application = wx.App() frame = wx.Frame( None , wx.ID_ANY, 'テストフレーム' ) icon = wx.Icon( 'frame.ico' , wx.BITMAP_TYPE_ICO) frame.SetIcon(icon) frame.Show() application.MainLoop() |