Tkinter - 如何在画布文本上放置大纲

Tkinter 中 Canvas 小部件的create_text方法没有像“outline”“border”这样的属性来设置文本对象周围的轮廓。因此,要在画布文本上添加大纲,您可以按照以下步骤操作 -

步骤 -

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

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

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

  • 接下来,在 Canvas using方法中创建一个文本对象。如示例所示设置文本create_text()的字体和颜色。

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

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

  • 最后,运行应用程序窗口的主循环。

示例

# Import tkinter library
from tkinter import *

# Create an instance of tkinter frame or window
root = Tk()

# Set the geometry of tkinter frame
root.geometry("700x350")

# Create a Canvas
canvas = Canvas(root, background="white")
canvas.pack(expand=True)

# Create text inside the Canvas
text = canvas.create_text(175, 50, text="Text inside the Canvas", font="Calibri, 20", fill="green")

# Get the bounding box of text
bbox = canvas.bbox(text)

# Outline the canvas text
canvas.create_rectangle(bbox, outline="blue")

root.mainloop()
输出结果

在执行时,它将产生以下输出 -