Frame
wxPythonの基本となるFrameのサンプルです。 まずはFrameを生成し、そのFrame上に様々なものを配置していくのが主な流れとなります。
まずは下記サンプルを実行してみましょう。
# -*- coding: utf-8 -*- import wx application = wx.App() frame = wx.Frame(None, wx.ID_ANY, u"テストフレーム") frame.Show() application.MainLoop()
「テストフレーム」というタイトルの何もないフレームが表示されたはずです。

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

アイコンの割り当ては「SetIcon」を使用します。
# -*- coding: utf-8 -*-
import wx
application = wx.App()
frame = wx.Frame(None, wx.ID_ANY, u"テストフレーム")
icon = wx.Icon("frame.ico", wx.BITMAP_TYPE_ICO)
frame.SetIcon(icon)
frame.Show()
application.MainLoop()
--実行結果--

こちらも基本!パネル!
▶GUI:Panel
