我在tkinter窗口中有一个图像背景,事实证明,当您创建标签或框架时,默认值不会清除,它是灰色的(它看起来很清晰,因为默认背景是相同的灰色)。
最初我对框架有同样的问题,但是我将背景放在框架的前面,所以它们被隐藏了。但是,我无法使用标签来做到这一点,因为它们包含了我想要看到的文本。
那么,是否可以使灰色不显示/将标签设置为“透明”(尝试使用bg =“ clear”和bg =“ none”)?
答案 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()
如您所见,该文本没有任何背景,并且其下方的任何项目都是可见的。但是,这仅适用于画布中的项目。如图所示,窗口背景为红色,但画布背景为默认的灰色-画布本身具有背景色,但仅针对画布外部的小部件。