wxPythonで描画するクラス

やっと見つけた。
http://wiki.wxpython.org/VerySimpleDrawing

wx.PaintDC(Device Context)とwx.Penを使う。

import wx

app = wx.App()
frame = wx.Frame(None, title="Draw on Panel")
panel = wx.Panel(frame)

def on_paint(event):
    dc = wx.PaintDC(event.GetEventObject())
    dc.Clear()
    dc.SetPen(wx.Pen("BLACK", 1)) 
    dc.DrawLine(0, 0, 50, 50) 

panel.Bind(wx.EVT_PAINT, on_paint)

frame.Show(True)
app.MainLoop()

fabagic用
複数描画するときはDrawLinesを使うみたい
アニメーションはどうやるのだろう

import wx
import time

app = wx.App()
frame = wx.Frame(None, title="Draw on Panel",size=(1000,600))
panel = wx.Panel(frame)

fin = open("out.txt").readlines()
lists = [(0,0)]
for line in fin:
    try:
        cx = int(line.split(' ')[0])
        cy = int(line.split(' ')[1])
        if (cx == -1):
            pass
        else:
            lists.append((cx,cy))   
    except:
        pass 
print tuple(lists)
def on_paint(event):
    dc = wx.PaintDC(event.GetEventObject())
    dc.Clear()
    dc.SetPen(wx.Pen("BLACK", 1))
    dc.DrawLines(tuple(lists))

panel.Bind(wx.EVT_PAINT, on_paint)

frame.Show(True)
app.MainLoop()