当我在 python 中使用
tkinter
创建透明窗口时,我需要从空的 window.attributes()
调用开始。示例代码:
#!/usr/bin/env python3
import tkinter as tk
window = tk.Tk()
window.attributes() # Unless I use this line the window will not be transparent
window.attributes('-alpha', 0.5)
window.update_idletasks()
window.mainloop()
我注意到的其他事情:
time.sleep(1)
而不是window.attributes()
window.attributes()
必须为空。设置另一个属性没有有帮助。window.attributes("-fullscreen", True)
而不是window.attributes()
。另一个属性时,空的
window.attributes()
是不必要。window.attributes("-fullscreen", True)
will创建一个全屏窗口,无论是否以window.attributes()
我的系统:
python3
版本 3.12.3-0ubuntu2
python3-tk
版本 3.12.3-0ubuntu1
xserver-xorg-core
版本 2:21.1.12-1ubuntu1
cinnamon
版本 6.2.9+wilma
tk
版本 8.6.14build1
我也想知道这种行为是否发生在其他系统上......
在我的 Raspberry Pi 和 Windows 11 系统上,窗口在没有无参数
window.attributes()
线的情况下变得透明。
这个问题很可能是你的系统问题。如果您的计算机在运行正常任务(例如网络浏览器)时速度缓慢,则可能是导致需要无参数
window.attributes()
调用的原因。
但是,不带参数的调用不会影响性能,因此,如果它适合您,我建议您继续解决该问题。