python Tkinter 设置窗口透明,画布不透明
时间: 2023-11-26 22:05:40 浏览: 245
要设置窗口透明,可以使用`attributes`方法,并将`alpha`属性设置为一个介于0和1之间的值。例如,以下代码将窗口的透明度设置为50%:
```python
import tkinter as tk
root = tk.Tk()
root.attributes("-alpha", 0.5)
# 在窗口中添加画布
canvas = tk.Canvas(root, width=200, height=200)
canvas.pack()
root.mainloop()
```
要保持画布不透明,可以在创建画布时设置其背景色为白色(或任何其他你想要的不透明颜色):
```python
canvas = tk.Canvas(root, width=200, height=200, bg='white')
```
相关问题
python Tkinter 创建一个完全透明的窗口,画布不透明
可以通过设置窗口的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`库将窗口设置为分层窗口,并将画布设置为不透明。
python Tkinter 创建一个完全透明的窗口,画布不透明图形
可以通过设置窗口属性和画布属性来实现。具体步骤如下:
1. 创建一个 Tkinter 窗口,并设置窗口的透明度为0(完全透明)。
2. 在窗口上创建一个 Canvas 画布,并设置画布的背景颜色为需要的不透明颜色。
3. 在画布上绘制需要的图形。
下面是一个示例代码,绘制了一个红色的矩形,窗口完全透明,但矩形不透明。
```python
import tkinter as tk
root = tk.Tk()
root.attributes("-alpha", 0) # 设置窗口透明度为0
canvas = tk.Canvas(root, bg='white')
canvas.pack(fill='both', expand=True)
# 绘制不透明的矩形
canvas.create_rectangle(50, 50, 150, 150, fill='red')
root.mainloop()
```
运行代码后会弹出一个完全透明的窗口,其中包含一个红色的矩形。
阅读全文
相关推荐









