【问题标题】:How can I make text appear in circle如何使文本出现在圆圈中
【发布时间】:2020-03-23 13:59:39
【问题描述】:

我怎样才能让文字像图片一样显示在圆圈中?

【问题讨论】:

  • 我不确定仅使用 Tkinter 是否可行。 AFAIK,Tkinter 的文本渲染功能不提供任何旋转文本的方法。
  • @stovfl 我刚刚在回答中引用了这个问题。
  • @scotty3785 是的,但这并不妨碍我投票重复。

标签: python tkinter text tkinter-canvas


【解决方案1】:

这个答案https://stackoverflow.com/a/56653517/2323393 建议您可以使用文本对象的angle 属性来旋转它。

例如

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()

【讨论】:

    猜你喜欢
    • 2015-11-05
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    相关资源
    最近更新 更多