如何在 Tkinter 的 Canvas 文本上添加轮廓线?

如何在 Tkinter 的 Canvas 文本上添加轮廓线?

Tkinter Canvas 小部件可以用于许多用途,例如在 Canvas 中添加图像、创建和绘制形状、使形状和对象动画等。通过使用 Canvas 中的内置函数和方法,我们可以创建并显示文本。

要创建文本,我们使用 create_text(x, y, text, **options) 方法。要在 Canvas 上的文本周围添加轮廓线,我们必须在文本周围创建边界框。边界框属性将不可见的框与小部件链接起来。这将允许我们在文本中放置一个矩形。

一旦我们创建了矩形,我们可以将其放在文本后面,并将文本置于矩形上方。必须给矩形指定一个轮廓线属性,以包围画布项目。

示例

# 导入所需库
from tkinter import *

# 创建一个 tkinter 窗口或框架实例
win=Tk()

# 设置窗口大小
win.geometry("700x350")

# 创建一个 Canvas 小部件
canvas=Canvas(win, bg="blue3")
canvas.pack()

# 在 Canvas 中创建一个文本
text=canvas.create_text(100,200, text="This works only in canvas",
font=('Calibri 18'), anchor="w", fill="white")

# 在文本周围创建边界框
bbox=canvas.bbox(text)

# 在边界框内创建一个矩形
rect=canvas.create_rectangle(bbox, outline="yellow",
fill="black", width=5)

# 将文本置于矩形上方
canvas.tag_raise(text,rect)

win.mainloop()
Python

输出

如果我们运行以上代码,则会显示一个带有在 Canvas 上可见的预定义文本的窗口,文本周围将有轮廓线。

如何在 Tkinter 的 Canvas 文本上添加轮廓线?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册