1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
##Andrea Gavana
#!/usr/bin/env python
# This sample uses the random module to draw 100 random lines iinside
# a wx.Frame client area, as a demonstration of how to handle a wx.PaintDC
import wx
import random
class PaintFrame(wx.Frame):
def __init__(self, parent, title):
wx.Frame.__init__(self, parent, title=title)
# Bind a "paint" event for the frame to the
# "OnPaint" method
self.Bind(wx.EVT_PAINT, self.OnPaint)
self.Show()
def OnPaint(self, event):
dc = wx.PaintDC(self)
w, h = self.GetClientSize()
# Use a blue pen, for example...
dc.SetPen(wx.Pen('BLUE'))
# Remember the signature of wx.DC.DrawLine:
# DrawLine(x1, y1, x2, y2)
for i in range(100):
x1 = random.randint(1, w-1)
y1 = random.randint(1, h-1)
x2 = random.randint(1, w-1)
y2 = random.randint(1, h-1)
dc.DrawLine(x1, y1, x2, y2)
app = wx.App(False)
frame = PaintFrame(None, 'PaintDC example')
app.MainLoop()
|