我正在尝试创建一个具有透明背景的
Text
小部件。对于 Python + tkinter
中的 GUI 非常陌生,我有点卡住了。
到目前为止,我有
Text
小部件,但背景不透明。
当我使用时
root.wm_attributes("-alpha", 0.5)
,它使整个窗口透明,但背景仍然是白色。此外,“+”按钮也变得透明。
如何让文字出现,但没有背景?
这是我的代码
from tkinter import *
def center_window(window):
window.update_idletasks()
width = window.winfo_width()
height = window.winfo_height()
screen_width = window.winfo_screenwidth()
screen_height = window.winfo_screenheight()
x = (screen_width - width) // 2
y = (screen_height - height) // 2
window.geometry(f"{width}x{height}+{x}+{y}")
canvas.create_text(100, 100, text="+", fill="red", font=("Purisa", 20, ""))
canvas.pack()
root.wait_visibility(root)
root.attributes("-alpha", 0.5)
root=Tk()
canvas = Canvas()
center_window(root)
root.mainloop()
NameError:名称“transparent_color”未定义?
我尝试将其更改为白色,但它仍然显示未定义。
也许您定义变量的位置或方式错误
transparent_color
。
from tkinter import *
def center_window(window):
window.update_idletasks()
width = window.winfo_width()
height = window.winfo_height()
screen_width = window.winfo_screenwidth()
screen_height = window.winfo_screenheight()
x = (screen_width - width) // 2
y = (screen_height - height) // 2
window.geometry(f"{width}x{height}+{x}+{y}")
canvas.create_text(100, 100, text="+", fill="red", font=("Purisa", 20, ""))
canvas.pack()
root.wait_visibility(root)
root.wm_attributes('-transparentcolor', my_transparent_color)
root=Tk()
my_transparent_color = "white"
canvas = Canvas(root, bg=my_transparent_color)
center_window(root)
root.mainloop()
另外,如果透明颜色仅适用于 Windows 我在 Linux 上?
我没有Linux平台,对它也一无所知。