wx.Brush 类
画笔是填充矩形、椭圆、圆形等形状背景所需的另一个基本图形对象。
自定义 Brush 对象需要 wx.Colour 和 Brush 样式参数。以下是预定义的画笔样式列表 -
| wx.SOLID |
| wx.STIPPLE |
| wx.BDIAGONAL_HATCH |
| wx.CROSSDIAG_HATCH |
| wx.FDIAGONAL_HATCH |
| wx.CROSS_HATCH |
| wx.HORIZONTAL_HATCH |
| wx.VERTICAL_HATCH |
| wx.透明 |
wxPython 有许多函数可以帮助绘制不同的形状、文本和图像。
| 序列号 |
功能与说明 |
| 1 |
DrawRectangle()
绘制给定尺寸的矩形
|
| 2 |
DrawCircle()
在给定点绘制一个圆作为中心和半径
|
| 3 |
DrawEllipse()
用给定的 x 和 y 半径绘制一个椭圆
|
| 4 |
DrawLine()
在两个 wx.Point 对象之间画一条线
|
| 5 |
DrawBitmap()
在给定位置绘制图像
|
| 6 |
DrawText()
在指定位置显示给定文本
|
例子
上述功能在以下示例中实现,使用 Pen、Brush、Color 和 Font 对象。
完整的代码如下 -
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')
ex.MainLoop()
上面的代码产生以下输出 -
