Python/wxPython/Graphics: Difference between revisions
Jump to navigation
Jump to search
| Line 6: | Line 6: | ||
B1 [label="wx.WindowDC"]; | B1 [label="wx.WindowDC"]; | ||
B2 [label="wx.MemoryDC"]; | B2 [label="wx.MemoryDC"]; | ||
B3 [label="wx.SVGFileDC"]; | |||
B4 [label="wx.MetaFileDC"]; | |||
B5 [label="wx.MirrorDC"]; | |||
B6 [label="wx.PostScriptDC"]; | |||
B7 [label="wx.PrinterDC"]; | |||
B8 [label="wx.ScreenDC"]; | |||
C [label="wx.ClientDC"]; | C [label="wx.ClientDC"]; | ||
D [label="wx.PaintDC"]; | D [label="wx.PaintDC"]; | ||
Revision as of 01:35, 22 March 2019
wx.DC hierarchy
Draw line by PaintDC
#!/usr/bin/env python3
import wx
class MyApp(wx.App):
def OnInit(self):
frame = wx.Frame(None, -1, 'Hello World!')
frame.Bind(wx.EVT_PAINT, self.OnPaint)
frame.Show()
self.mainFrame = frame
return True
def OnPaint(self, evt):
dc = wx.PaintDC(self.mainFrame)
dc.DrawLine(10, 10, 200, 10)
if __name__ == '__main__':
app = MyApp()
app.MainLoop()
Draw line by Cairo
#!/usr/bin/env python3
import wx
import wx.lib.wxcairo
class MyApp(wx.App):
def OnInit(self):
frame = wx.Frame(None, -1, 'Hello World!')
frame.Bind(wx.EVT_PAINT, self.OnPaint)
frame.Show()
self.mainFrame = frame
return True
def OnPaint(self, evt):
dc = wx.PaintDC(self.mainFrame)
ctx = wx.lib.wxcairo.ContextFromDC(dc)
ctx.set_line_width(5)
ctx.move_to(10, 20)
ctx.line_to(200, 20)
ctx.stroke()
if __name__ == '__main__':
app = MyApp()
app.MainLoop()