是否可以在tkinter中使用透明/透明标签?

时间:2019-03-16 16:28:48

标签: python tkinter label

我在tkinter窗口中有一个图像背景,事实证明,当您创建标签或框架时,默认值不会清除,它是灰色的(它看起来很清晰,因为默认背景是相同的灰色)。

最初我对框架有同样的问题,但是我将背景放在框架的前面,所以它们被隐藏了。但是,我无法使用标签来做到这一点,因为它们包含了我想要看到的文本。

那么,是否可以使灰色不显示/将标签设置为“透明”(尝试使用bg =“ clear”和bg =“ none”)?

1 个答案:

答案 0 :(得分:0)

否,在tkinter label小部件中不可能有清晰的背景。但是,有一些方法可以获取相同的输出。对于简单的彩色背景,您可以匹配标签背景中的颜色。对于类似此示例的图片背景,您可以使用画布,但是图片必须在同一画布中。

您可以在这里使用Canvas

import tkinter as tk

win = tk.Tk()
win.config(bg="red")

canvas = tk.Canvas(win, width=200, height=20)
canvas.create_rectangle(0,0,30,30, fill="orange")
canvas.pack()

canvas.create_text(10,10, text="This isn't ideal but it works", anchor="nw")

win.mainloop()

Example Window

如您所见,该文本没有任何背景,并且其下方的任何项目都是可见的。但是,这仅适用于画布中的项目。如图所示,窗口背景为红色,但画布背景为默认的灰色-画布本身具有背景色,但仅针对画布外部的小部件。