python Tkinter 创建一个完全透明的窗口,画布不透明
时间: 2024-02-03 08:11:55 浏览: 138
制作透明的窗口
可以通过设置窗口的alpha值为0来实现窗口完全透明,但需要注意的是,这个方法只在Windows系统上可用,并且需要安装pywin32库。以下是示例代码:
```python
import tkinter as tk
import win32gui
root = tk.Tk()
root.attributes('-alpha', 0) # 设置窗口透明度为0
canvas = tk.Canvas(root, width=300, height=200, bg='white')
canvas.pack()
hwnd = win32gui.GetParent(canvas.winfo_id()) # 获取窗口句柄
win32gui.SetWindowLong(hwnd, win32gui.GWL_EXSTYLE,
win32gui.GetWindowLong(hwnd, win32gui.GWL_EXSTYLE) | win32gui.WS_EX_LAYERED) # 设置为分层窗口
# 将画布设置为不透明
win32gui.SetLayeredWindowAttributes(hwnd, 0, 255, win32gui.LWA_ALPHA)
root.mainloop()
```
上述代码中,通过`root.attributes('-alpha', 0)`设置窗口透明度为0,然后通过`win32gui`库将窗口设置为分层窗口,并将画布设置为不透明。
阅读全文