无法在python中填充tkinter弧中的颜色。

时间:2017-06-23 22:42:03

标签: python python-3.x tkinter

守则: -

from tkinter import *
import sys
import time
import random
root = Tk()
canvas = Canvas(root,height=700,width=700,bg='pink')
canvas.pack()
canvas.create_rectangle(0,0,10,700,fill='blue')
canvas.create_rectangle(690,0,700,700,fill='blue')
canvas.create_rectangle(0,0,700,10,fill='blue')
canvas.create_rectangle(0,690,700,700,fill='blue')
canvas.create_arc(110,9,130,29,extent=359,fill='black',style=ARC)
canvas.create_rectangle(290,500,410,510,fill='red')
root.mainloop()

一切都显得很好,只有弧线不会被填满。 我怎样才能为圆弧着色?

2 个答案:

答案 0 :(得分:2)

根据the documentation,您无法填充圆弧,除非其样式为PIESLICECHORD

这实际上是有道理的:你如何填充未关闭的几何对象?

您只需删除style属性即可。

canvas.create_arc(110, 9, 130, 29, extent=359, fill='black')

答案 1 :(得分:0)

我发现使用outline = colour方法更容易,而将style = 'arc'的条目保留为空,这将使颜色更改为所需的颜色,这是因为tkinter奇怪,对于较小的线宽,您只会看到大纲。一种更彻底的方法是outline = colour, fill = colour,无论厚度如何,这将是一个完全统一的颜色