透明背景的文字制作十字准线

问题描述 投票:0回答:1

我正在尝试创建一个具有透明背景的

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()
python tkinter
1个回答
0
投票

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()

enter image description here

另外,如果透明颜色仅适用于 Windows 我在 Linux 上?

我没有Linux平台,对它也一无所知。

也许你可以参考这个https://stackoverflow.com/a/68879639/11936135

© www.soinside.com 2019 - 2024. All rights reserved.