やっと見つけた。
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()