五子棋棋盘(4.Python画一个五子棋棋盘)

五子棋棋盘
本篇我们通过wx.PaintDC在wxPython建立的窗体上画出一个五子棋棋盘。要想在wxPython创建的窗体对象上通过wx.PaintDC画图,需要在该窗体上绑定一个画图事件wx.EVT_PAINT,然后在事件处理函数里画出我们需要的线条。
我们的棋盘是画在panel上的,所以画图事件也是绑定在panel上,画图的容器mydc也是建立在panel上。我们通过 self.unit = 30、self.dotnum = 15来控制窗体及棋盘的大小,unit为格子边长,dotnum为棋盘每条边的交点个数。
#画一个五子棋棋盘
import wx
class myFrame(wx.Frame):
def __init__(self):
self.unit = 30
self.dotnum = 15
super().__init__
parent=None,pos=[100,100],
size=[self.unit*self.dotnum
self.unit+20,
self.unit*self.dotnum
self.unit+30+20],
title="商贾三国")
self.SetIcon(wx.Icon("WeatherBundle.ico"))
self.panel = wx.Panel(self)
self.panel.SetBackgroundColour((220, 210, 0))
self.panel.Bind(wx.EVT_PAINT,self.draw)
self.Show()
def draw(self,event):
self.panel)
self.unit
self.dotnum
y=unit
for i in range(1,dotnum+1):
x=x+unit
for i in range(1,dotnum+1):
y=y+unit
myframe=myFrame()
这里我们通过super()函数来调用窗框父类的构造函数。

五子棋棋盘相关文章