我在tkinter中绘制弧线。它们使用'arc'方法,因此只有指定宽度和颜色的外边缘。令人讨厌的是,一些弧似乎随机地具有圆形边缘。有谁知道这是一个错误还是可以修复?
示例代码:
w1.create_arc(xarc0,yarc0,xarc1,yarc1,start=arcstart,extent=arcextent,width=thick1,outline=mc,style="arc")
所附问题的图片。
答案 0 :(得分:2)
经过一些实验,我相信这是一个小故障
我运行了一个模拟来创建360个弧,每个弧的范围都来自1 - 360
,我发现弧的最后一个弯曲端的唯一时间是当弧的范围是90或271时,我不知道不知道为什么会发生这种情况,但我认为不应该这样做。
绿色弧是模拟,红色和蓝色弧是具有弯曲末端的弧。我不认为有办法解决这个问题,但是你可以将范围从90改为91,因为我已经为橙色弧做了,你可以看到它有一个直接的结果,并没有太大的区别。
如果您想要使用它,可以使用以下代码:
from tkinter import *
Window = Tk()
w1 = Canvas(Window)
w1.pack()
for x in range(360):
w1.after(5)
arc = w1.create_arc(20, 20, 150,100,start=0,extent=x,width=30,outline = "green", style="arc")
w1.update()
if x == 90 or x == 271:
print("Now!")
w1.create_arc(160,20, 300,100,start=0,extent=90,width=30,outline = "red", style="arc")
w1.create_arc(180,120, 320,200,start=0,extent=271,width=30,outline = "blue", style="arc")
w1.create_arc(0, 150, 140,230,start=0,extent=91,width=30,outline = "orange", style="arc")