デザインのメモ

ロゴやフォント、フォトショ・イラレのお話をします

wxPython(Phoenix)で始めるGUIプログラミング【ウインドウの設定 - 2】

この記事について

こちらにまとめられています。

nippori30.hatenablog.com

今回、何をするか?

前回と見栄えは変わりませんが、コードを今後のために整理しましょう!

とりあえず動かしてみよう!

出力画面は前回と同じです。

# app.py
import wx


class MyApp(wx.Frame):

    def __init__(self, *args, **kw):
        super(MyApp, self).__init__(*args, **kw)

        self.init_ui()

    def init_ui(self):
        self.SetTitle('タイトル')
        self.SetBackgroundColour((255, 0, 0))
        self.SetPosition((200, 100))
        self.SetSize((400, 300))
        self.Show()


app = wx.App()
MyApp(None)
app.MainLoop()

次のように実行するとこのような画面ができるはずです。

> pythonw app.py

f:id:nippori30:20170916015249p:plain

解説

前回からの変更点のみを解説していきます。

class MyApp(wx.Frame):

今回からは、Frameをオーバーライドした、独自のクラスを設定して、それをいじっていきます。

    def __init__(self, *args, **kw):
        super(MyApp, self).__init__(*args, **kw)

        self.init_ui()

上2行はオーバーライドの設定で、self.init_ui()は次に作る、画面の初期設定を行う関数を実行するためのものです。

    def init_ui(self):
        self.SetTitle('タイトル')
        self.SetBackgroundColour((255, 0, 0))
        self.SetPosition((200, 100))
        self.SetSize((400, 300))
        self.Show()

ここで、前回まで行っていた設定を行うことにします。

MyApp(None)

独自で作ったクラスのインスタンスを作ります。

これで動作は前回と同じですが、今後、複雑になっていくことに備え、コードを整理することができました。

次回

ウインドウの中に、しきりを作って、パート訳をしていきましょう。