wx.ScreenDC ? 使用它描繪在屏幕上,而不是一個(gè)單獨(dú)的窗口。
wx.ClientDC ? 使用它描繪在窗口(無邊框等裝飾的一部分)的客戶區(qū)域,但不從wxPaintEvent內(nèi)使用它。
wx.PaintDC ? 使用它描繪在窗口的客戶區(qū)域,但只能從wxPaintEvent內(nèi)。
wx.WindowDC ? 使用它描繪的窗口,包括裝飾的整個(gè)區(qū)域。這可能不提供對(duì)非Windows平臺(tái)。
顏色對(duì)象表示RGB(紅,綠和藍(lán))的亮度值,每個(gè)是在0-255的比例組合。還有一些預(yù)定義的顏色對(duì)象-
wx.Colour(r,g,b)
| wxBLACK_DASHED_PEN |
| wxBLACK_PEN |
| wxBLUE_PEN |
| wxCYAN_PEN |
| wxGREEN_PEN |
| wxYELLOW_PEN |
| wxGREY_PEN |
| wxLIGHT_GREY_PEN |
| wxMEDIUM_GREY_PEN |
| wxRED_PEN |
| wxTRANSPARENT_PEN |
| wxWHITE_PEN |
| wx.SOLID |
| wx.DOT |
| wx.LONG_DASH |
| wx.SHORT_DASH |
| wx.DOT_DASH |
| wx.TRANSPARENT |
| wx.SOLID |
| wx.STIPPLE |
| wx.BDIAGONAL_HATCH |
| wx.CROSSDIAG_HATCH |
| wx.FDIAGONAL_HATCH |
| wx.CROSS_HATCH |
| wx.HORIZONTAL_HATCH |
| wx.VERTICAL_HATCH |
| wx.TRANSPARENT |
| S.N. |
函數(shù)與說明
|
|---|---|
| 1 |
DrawRectangle()
按給定尺寸繪制矩形
|
| 2 |
DrawCircle()
用給定的點(diǎn)為中心以及半徑繪制一個(gè)圓
|
| 3 |
DrawEllipse()
用給定的x和y半徑繪制一個(gè)橢圓
|
| 4 |
DrawLine()
繪制兩個(gè)wx.Point對(duì)象之間的線
|
| 5 |
DrawBitmap()
在給定的位置繪制圖像
|
| 6 |
DrawText()
顯示在指定的位置給定的文本
|
import wx
class Mywin(wx.Frame):
def __init__(self, parent, title):
super(Mywin, self).__init__(parent, title = title,size = (500,300))
self.InitUI()
def InitUI(self):
self.Bind(wx.EVT_PAINT, self.OnPaint)
self.Centre()
self.Show(True)
def OnPaint(self, e):
dc = wx.PaintDC(self)
brush = wx.Brush("white")
dc.SetBackground(brush)
dc.Clear()
dc.DrawBitmap(wx.Bitmap("python.jpg"),10,10,True)
color = wx.Colour(255,0,0)
b = wx.Brush(color)
dc.SetBrush(b)
dc.DrawCircle(300,125,50)
dc.SetBrush(wx.Brush(wx.Colour(255,255,255)))
dc.DrawCircle(300,125,30)
font = wx.Font(18, wx.ROMAN, wx.ITALIC, wx.NORMAL)
dc.SetFont(font)
dc.DrawText("Hello wxPython",200,10)
pen = wx.Pen(wx.Colour(0,0,255))
dc.SetPen(pen)
dc.DrawLine(200,50,350,50)
dc.SetBrush(wx.Brush(wx.Colour(0,255,0), wx.CROSS_HATCH))
dc.DrawRectangle(380, 15, 90, 60)
ex = wx.App()
Mywin(None,'Drawing Demo - www.yiibai.com')
ex.MainLoop()
上面的代碼產(chǎn)生下面的輸出 -