デザインのメモ

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

wxPython(Phoenix)で始めるGUIプログラミング【ラジオボタン】

この記事について

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

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.SetSize((400, 300))
        self.Show()

        panel_ui = wx.Panel(self, -1, pos=(50, 50), size=(300, 200))

        self.label = wx.StaticText(panel_ui, -1, '', pos=(10, 100))

        self.btn_1 = wx.RadioButton(panel_ui, -1, '選択肢1', pos=(10, 10))
        self.btn_2 = wx.RadioButton(panel_ui, -1, '選択肢2', pos=(10, 40))
        self.btn_1.SetValue(True)

        btn = wx.Button(panel_ui, -1, '決定', pos=(10, 70))
        btn.Bind(wx.EVT_BUTTON, self.clicked)

    def clicked(self, event):
        if self.btn_1.GetValue():
            self.label.SetLabel('1が選択されました')
        elif self.btn_2.GetValue():
            self.label.SetLabel('2が選択されました')


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

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

> pythonw app.py

f:id:nippori30:20180423081343p:plain
ここで、ボタンを押すと、選択肢の番号が表示されるです。

解説

        self.btn_1 = wx.RadioButton(panel_ui, -1, '選択肢1', pos=(10, 10))
        self.btn_2 = wx.RadioButton(panel_ui, -1, '選択肢2', pos=(10, 40))
        self.btn_1.SetValue(True)

テキストボックスを作るにはにはTextCtrl()を使います。
引数はラベルやボタンなどと同じです。
初期値としてどちらかを選択状態にしたい場合はSetValue()を使います。

        if self.btn_1.GetValue():

ボタンの状態を取得するのにはGetValue()を用います。
TrueかFalseが戻り値なのでifの条件に直接使用できます。

以上です。

次回

ファイル/フォルダの選択ウインドウを作りましょう。

キズナアイちゃんに「ざっくりゴシック」を使っていただいてるっぽい話

先日Twitterのフォロワーさんから教えていただいたのですが、

あのインテリジェントなスーパーAIのキズナアイちゃんに、

僕の作った「ざっくりゴシック」を使っていただいてるのではと!

 

本当だったら、すごく嬉しい!!

続きを読む