如何用Tkinter库中的create_arc画出想要的弧线

最近趁闲自学了tkinter,在用canvas中的create_arc画弧线时,一直画不出自己想要的弧线。create_arc方法中需要传入两个点,一开始我以为这两个点一个是弧线的最高点,另一个是弧线的最低点,但是画出来的结果不尽如意。

后来查找许多资料,才发现这两个点并不是弧线上的点,而是一个矩形的左上点右下点。create_arc画弧线的机制是在给定的矩形内创造一个椭圆,然后通过start和extent参数来分割出你想要的曲线部分,如:

from tkinter import *

root = Tk()

root.title('弧线')

w = Canvas(root, background='white', width=500, height=500)
w.pack()

w.create_rectangle(100, 100, 300, 200)
w.create_oval(100, 100, 300, 200)

# 在点(100,100)和点(300,200)确定的矩形中画一个内接椭圆,以椭圆上与椭圆中心成-150°的点为起点,逆时针画一条角度为120°的弧线,也就是(-150°,-30°)
w.create_arc(100, 100, 300, 200, start=-150, extent=120, style=ARC, width=3)

w.mainloop()
 

 

绿线部分就是我们要画的弧线,至此,困扰了两三个小时的问题成功解决!

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值