Tkinter创建用透明背景覆盖屏幕的画布

2024-09-23 22:23:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个画布,它使用一个没有窗口的小部件来覆盖屏幕上的所有内容,这个窗口是用topmost属性提升的。在

不过,我想要一个透明的背景。在

我得到的是:

import Tkinter

vsize = vw, vh = 600, 350

w = Tkinter.Canvas(width=vw, height=vh, highlightthickness=0)
w.master.overrideredirect(True)
w.master.geometry("+0+0")
w.master.lift()
w.master.wm_attributes("-topmost", True)
w.master.wm_attributes("-disabled", True)
w.create_rectangle(0, 0, vw, vh, fill="black")
w.pack()
w.mainloop()

我尝试将以下属性添加到画布并将stipple="gray25"添加到矩形:

^{pr2}$

由于某些原因,这并不能使灰色透明,即使这样做了,使用stipple也会很糟糕。在

有人对如何做到这一点有什么想法吗?在

编辑:

我试着将背景配置为黑色,并给它一些透明度,但我只希望背景是黑色的,这样我就可以在画布内部有不透明的项目。在

w.configure(background="black")
w.master.wm_attributes("-alpha", 0.5)

Tags: mastertrue属性部件tkinter画布attributesblack
1条回答
网友
1楼 · 发布于 2024-09-23 22:23:38

我相信目前在特金特是没有办法做到这一点的。在

如果你正在寻找一种方法来覆盖屏幕上的内容,为什么不使用屏幕上的单独窗口呢?否则,我建议在Tkinter之外寻找其他解决方案。在

相关问题 更多 >