Python 如何使文本显示在圆圈中

Python 如何使文本显示在圆圈中,python,tkinter,text,tkinter-canvas,Python,Tkinter,Text,Tkinter Canvas,如何使文本像图片中那样出现在圆圈中?此答案建议您可以使用文本对象的角度属性来旋转它 比如说 txt = canvas.create_text(250, 250, text='Hi') canvas.itemconfig(txt, angle=90) 还是一个更完整的解决方案 import math import tkinter as tk def draw(angle, text): x = math.cos(math.radians(angle)) * 50 + 250 y

如何使文本像图片中那样出现在圆圈中?

此答案建议您可以使用文本对象的
角度属性来旋转它

比如说

txt = canvas.create_text(250, 250, text='Hi')
canvas.itemconfig(txt, angle=90)
还是一个更完整的解决方案

import math
import tkinter as tk

def draw(angle, text):
    x = math.cos(math.radians(angle)) * 50 + 250
    y = math.sin(math.radians(angle)) * 50 + 250
    obj = canvas.create_text(250, 250, text=text, fill="green")
    canvas.itemconfig(obj, angle=-angle)
    canvas.coords(obj, x, y)
    return obj

root = tk.Tk()
canvas = tk.Canvas(root, width=500, height=500)

for i in range(0,360,60):
    draw(i,"Hi")

canvas.pack()
root.mainloop()
这个答案建议您可以使用文本对象的
角度
属性来旋转它

比如说

txt = canvas.create_text(250, 250, text='Hi')
canvas.itemconfig(txt, angle=90)
还是一个更完整的解决方案

import math
import tkinter as tk

def draw(angle, text):
    x = math.cos(math.radians(angle)) * 50 + 250
    y = math.sin(math.radians(angle)) * 50 + 250
    obj = canvas.create_text(250, 250, text=text, fill="green")
    canvas.itemconfig(obj, angle=-angle)
    canvas.coords(obj, x, y)
    return obj

root = tk.Tk()
canvas = tk.Canvas(root, width=500, height=500)

for i in range(0,360,60):
    draw(i,"Hi")

canvas.pack()
root.mainloop()

我不确定仅仅用Tkinter就可以做到这一点。好了,Tkinter的文本呈现功能不提供任何旋转文本的方法。这能回答你的问题吗@stovfl我刚才在回答中引用了这个问题。@scotty3785是的,但这并不能阻止我重复投票。我不确定仅仅使用Tkinter是否可能。好了,Tkinter的文本呈现功能不提供任何旋转文本的方法。这能回答你的问题吗@stovfl我刚才在回答中引用了这个问题。@scotty3785是的,但这并不妨碍我作为重复投票。