python绘制五子棋棋盘_4.Python画一个五子棋棋盘

今天我们通过wx.PaintDC在窗体上画出一个五子棋棋盘。要想在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):

mydc=wx.PaintDC(self.panel)

unit=self.unit

dotnum=self.dotnum

x=unit

y=unit

for i in range(1,dotnum+1):

mydc.DrawLine(x,y,x,unit*dotnum)

x=x+unit

x=unit

for i in range(1,dotnum+1):

mydc.DrawLine(x, y, unit*dotnum, y)

y=y+unit

myapp=wx.App()

myframe=myFrame()

myapp.MainLoop()

qipan.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值