スクロールバー付きの window
今度は、スクロールバー付きです。良く分かっていないので、「動けば正解」の例ということでご勘弁。
import wx class DrawPanel(wx.ScrolledWindow): def __init__(self, parent): wx.ScrolledWindow.__init__(self, parent, -1) wx.EVT_PAINT(self, self.OnPaint) self.SetVirtualSize((5000, 5000)) self.SetScrollRate(20, 20) self.buffer = wx.EmptyBitmap(5000, 5000) dc = wx.BufferedDC(None, self.buffer) dc.SetBackground(wx.Brush(self.GetBackgroundColour())) dc.Clear() dc.SetPen(wx.Pen("BLACK", 1)) dc.DrawCircle(100, 100, 10) dc.DrawCircle(2000, 100, 10) def OnPaint(self, event=None): dc = wx.BufferedPaintDC(self, self.buffer, wx.BUFFER_VIRTUAL_AREA) class TopFrame(wx.Frame): def __init__(self, parent, ID, name): wx.Frame.__init__(self, parent, ID, name) class MyApp(wx.App): def OnInit(self): f = TopFrame(None, -1, "Test 1") DrawPanel(f) f.Show(True) self.SetTopWindow(f) return True if __name__ == '__main__': app = MyApp() app.MainLoop()