我正试着用python在Tkinter做一场象棋游戏。对于片上的阴影,我打算使用点画,但是,虽然点画图案出现在其中一个形状上,但它在弧形上不起作用。以下是相关代码:
from Tkinter import *
master = Tk()
win = Canvas(master, width=800, height=800)
def draw(x, y): #draws a pawn
win.create_oval(x-15, y-40, x+15, y-10, fill="#FFFFFF") #head
win.create_arc(x-15, y-40, x+15, y-10, style=CHORD, start=225, extent=135, stipple="gray25") #head shading (not appearing stippled)
win.create_polygon(x+8, y-12, x-8, y-12, x-15, y-5, x-10, y-5, x-20, y+30, x-30, y+35, x-30, y+40, x+30, y+40, x+30, y+35, x+20, y+30, x+10, y-5, x+15, y-5, fill="#FFFFFF", outline="black") #body
win.create_polygon(x-10, y-5, x+10, y-5, x+15, y+15, stipple="gray25") #body shading (appearing stippled)
win.pack()
master.update()
draw(400, 400)任何帮助都将不胜感激。
发布于 2016-12-04 23:21:01
看起来,在大多数Tkinter版本中,这是不可能的,至少在Windows平台上是如此。
来自:http://www.scoberlin.de/content/media/http/informatik/tkinter/x3009-options.htm
在“椭圆形备选方案”下:
“在TK8.0中,在Windows平台上忽略了点画选项。要绘制点画的椭圆,必须创建相应的多边形。”
如果这不是您的情况,文档中还会有一个说明,说明您需要指定一个填充,以使一个椭圆/弧形/和弦点画。
在任何情况下,接近和弦的多边形都会起作用。。。尽管要这样做似乎很痛苦。
https://stackoverflow.com/questions/40964416
复制相似问题