如何在Python的tkinter中为画布文本添加轮廓?

5

我在画布中央创建了一段白色文本,但我的背景非常丰富多彩,其中一部分是非常浅的颜色,因此我的句子某些角落看不到。我找不到任何设置边框或轮廓线的选项。我该怎么办?

2个回答

6
创建一个文本项,获取该项的边界框数据,利用这些数据创建一个矩形,并将文本放置在矩形上方。
import Tkinter as tk

root = tk.Tk()
canvas = tk.Canvas(root, background="white")
canvas.pack(fill="both", expand=True)

text_item = canvas.create_text(20, 20, anchor="w", text="Hello world!", fill="white")
bbox = canvas.bbox(text_item)
rect_item = canvas.create_rectangle(bbox, outline="red", fill="black")
canvas.tag_raise(text_item,rect_item)

root.mainloop()

1
你可以将不同颜色的文字放在顶部,只需将其移动几个像素。
text_bg = canvas.create_text(400, 100, text="Hello World!", font=("Helvetica", 40), fill='white')
text_fg = canvas.create_text(402, 102, text="Hello World!", font=("Helvetica", 40), fill='black')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接