単純な wxPython GUI プログラム

wxPython をインストールしたら、さっそく wxPython を用いて GUI のあるプログラムを開発してみましょう。

ちなみに、ここでは Python の開発環境として Eclipse と PyDev を用いています。必須ではありませんが一応、開発環境のスクリーンショットも載せておきます。

wxPython

コードを書いて Run As で Python Run を選択すれば実行可能でした。

wxPython による単純なウィンドウの表示

ウィンドウを表示するだけのコードは次の通りです。

import wx

app = wx.App(False)
frame = wx.Frame(None, wx.ID_ANY, "Hello, world!")
frame.Show(True)
app.MainLoop()

これを実行すると次のようなウィンドウが表示されます。

wxPython

wx.App クラスはアプリケーションそのものを表し、wxPython システムを起動して、 その元となる GUI ツールキットを初期化して、アプリケーションワイドのプロパティを取得したり設定したりします。

そしてメインメッセージループを開始して、イベント(ウィンドウメッセージ)を適切なウィンドウにディスパッチします。

wxPython によるテキストボックスの表示

次にテキストボックスを表示してみましょう。コードは次のようになります。

import wx

class MyFrame(wx.Frame):
    def __init__(self, parent, title):
        wx.Frame.__init__(
            self, 
            parent, 
            title=title, 
            size=(300,200))
        self.control = wx.TextCtrl(
            self, 
            style=wx.TE_MULTILINE)
        
app = wx.App(False)
frame = MyFrame(None, 'wxNotepad')
frame.Show(True)
app.MainLoop()

ここでは wx.Frame を派生した MyFrame クラスにて、control に wx.TextCtrl ウィジェットを設定しています。 また TextCtrol を作成するときに、スタイルとして複数行入力可のテキストボックスとしています。

その結果、次のように表示されます。

wxPython

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Python 入門