Tkinter - 如何在画布文本上添加轮廓

tkinterpythongui-programming更新于 2026/2/9 18:52:17

Tkinter 中 Canvas 小部件的 create_text 方法没有像 "outline" 或 "border" 这样的属性来在文本对象周围设置轮廓。因此,要在画布文本上添加轮廓,您可以按照下面给出的步骤 −

步骤 −

  • 导入所需的库并创建 tkinter 框架的实例。

  • 使用 root.geometry 方法设置框架的大小。

  • 创建 Canvas 小部件并设置其高度和宽度。另外,使用 background="white" 设置其背景颜色。

  • 接下来,使用 create_text() 方法在 Canvas 内创建一个 text 对象。按照示例所示设置文本的字体和颜色。

  • 获取文本项的边界框 (bbox)。

  • 使用 bbox 数据创建带有轮廓的矩形。

  • 最后,运行应用程序窗口的 ma​​inloop。

示例

# 导入 tkinter 库
from tkinter import *

# 创建 tkinter 框架或窗口的实例
root = Tk()

# 设置 tkinter 框架的几何形状
root.geometry("700x350")

# 创建 Canvas
canvas = Canvas(root, background="white")
canvas.pack(expand=True)

# 在画布内创建文本
text = canvas.create_text(175, 50, text="Text inside the Canvas", font="Calibri, 20", fill="green")

# 获取文本的边界框
bbox = canvas.bbox(text)

# 勾勒画布文本的轮廓
canvas.create_rectangle(bbox, outline="blue")

root.mainloop()

输出

执行后,将产生以下输出 −


相关文章


有用资源