我正在创建一个画布,该画布使用一个小部件覆盖屏幕上的其他所有内容,而没有一个带有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"添加到矩形中:
w.master.wm_attributes("-transparentcolor", "gray")出于某种原因,这并没有使灰色透明,而且即使这确实有效,使用stipple看起来也会很糟糕。
有没有人对如何做到这一点有任何想法?
编辑:
我尝试将背景配置为黑色,并给予它一些透明度,但我只希望背景是黑色的,这样我就可以在画布中有不透明的项目。
w.configure(background="black")
w.master.wm_attributes("-alpha", 0.5)发布于 2017-04-27 19:31:16
我相信,目前在Tkinter没有办法做到这一点。
如果您正在寻找一种方法来覆盖您的屏幕上的东西,为什么不使用单独的窗口放置在屏幕上?否则,我建议考虑Tkinter以外的其他解决方案。
https://stackoverflow.com/questions/43666230
复制相似问题