如何在 Tkinter 上的画布文本上添加轮廓?
tkinterpythongui-programming更新于 2025/9/14 16:12:17
Tkinter Canvas 小部件可用于多种用途,例如添加图像、在画布中创建和绘制形状、为形状和对象设置动画等。使用 Canvas 内置函数和方法,我们可以创建和显示文本。
要创建文本,我们使用 create_text(x,y, text, **options) 方法。要在 Canvas 中的文本周围添加轮廓,我们必须在文本周围创建边界框。边界框属性将不可见的框与小部件链接起来。而且,这将允许我们在文本中放置一个矩形。
创建矩形后,我们可以将其拉到后面,并使文本位于矩形上方。必须为矩形赋予一个围绕画布项的轮廓属性。
示例
# 导入所需的库
from tkinter import *
# 创建 tkinter 框架或窗口的实例
win=Tk()
# 设置窗口的大小
win.geometry("700x350")
# 创建画布小部件
canvas=Canvas(win, bg="blue3")
canvas.pack()
# 在画布中创建文本
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 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

