wxPython Sizerを使ってボタンを並べてみる

2011/01/25

wxPythonでBoxSizerを使って、ボタンを並べて表示してみる。
ボタンはwx.Buttonを継承したMyButtonクラスを作ってみました。

#!/usr/bin/env python
#coding:utf-8

import wx

class MyButton(wx.Button):
    def __init__(self,parent,label):
        wx.Button.__init__(self,parent,-1,label=label)

class MyWindow(wx.Frame):
    def __init__(self,parent,id):
        wx.Frame.__init__(self,parent,id,"MyTitle",size=(300,200))

        button=[]
        for i in range(6):
            labelstr = "button "+str(i)
            button.append(MyButton(self,labelstr))

        sz=wx.BoxSizer(wx.VERTICAL)
        for i in button:
            sz.Add(i,1,wx.EXPAND)
            self.SetSizer(sz)
            self.Bind(wx.EVT_BUTTON, self.DoSomething)

    def DoSomething(self,event):
        pass

if __name__=='__main__':
    app=wx.PySimpleApp()
    frame=MyWindow(parent=None,id=-1)
    frame.Show()
    app.MainLoop()

実行すると

wxPython

Posted by skw