Tkinter - 如何在画布文本上标注轮廓


Tkinter 中 Canvas 窗口部件的**create_text** 方法没有诸如**"outline"** 或 **"border"** 的属性,无法在文本对象周设置一个轮廓。因此,要在画布文本上放置一个轮廓,可以按照以下步骤操作:-

步骤 -

  • 导入所需的库并创建一个 Tkinter 框架实例。

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

  • 创建一个 Canvas 窗口部件并设置它的高度和宽度。此外,用 **background="white"** 设置它的背景颜色。

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

  • 获取文本项的边框框(**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()

输出

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

更新于: 2021 年 10 月 26 日

2K+ 浏览量

开启您的 事业

完成课程并获得认证

开始学习
广告
© . All rights reserved.