Python Tkinter画布绘制半圆

Python Tkinter画布绘制半圆,python,tkinter,Python,Tkinter,一开始我似乎很明显,我从来没有想过要怎么做——我怎么能画一个半圆呢? 我试过使用和弦: canvas.create_arc(x1, y1, x2, y2, style="chord",...) 但我想不出坐标的组合。所以我试着用弧线: canvas.create_arc(x1, y1, x2, y2, style="arc",...) 这也不起作用——pieslice也不起作用 总之,如何使用tkinter生成半圆?(就像在canvas.create中一样…您可以创建带有圆弧的半圆。除了坐标

一开始我似乎很明显,我从来没有想过要怎么做——我怎么能画一个半圆呢? 我试过使用和弦:

canvas.create_arc(x1, y1, x2, y2, style="chord",...)
但我想不出坐标的组合。所以我试着用弧线:

canvas.create_arc(x1, y1, x2, y2, style="arc",...)
这也不起作用——pieslice也不起作用


总之,如何使用tkinter生成半圆?(就像在canvas.create中一样…

您可以创建带有圆弧的半圆。除了坐标之外,还需要给出
开始
范围

范围=度

指定圆弧占据的角度范围的大小。圆弧的范围从开始选项给出的开始角度逆时针扩展度。度数可能是负数。如果大于360或小于-360,则使用360度模作为范围

开始=度

指定圆弧占据的角度范围的起点。度数以从3点钟位置逆时针测量的度数为单位;它可能是正面的,也可能是负面的

下面是一个例子:

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
canvas = tk.Canvas(root, width=300, height=200)
canvas.pack(fill="both", expand=True)

canvas.create_arc(100, 100, 200, 200, start=20, extent=180, fill="red")

root.mainloop()

绘制圆弧不仅需要边界框坐标:还需要
start=
extent=
选项
extent=180
应该做一个半圆,调整
start
以确定您想要的方向。只是问问——如果我调用canvas.coords,坐标是多少?@JohnLiu:试试看。哦,是的,我忘了我可以这么做:)