python Tkinter 设置窗口透明,画布不透明
时间: 2023-11-26 17:05:40 浏览: 51
要设置窗口透明,可以使用`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 创建一个完全透明的窗口,画布不透明
要创建一个完全透明的窗口,可以使用`attributes('-alpha', 0.0)`方法来实现。而要创建一个画布不透明的窗口,可以将画布的alpha值设置为1.0。
以下是一个例子:
```python
import tkinter as tk
# 创建窗口
root = tk.Tk()
root.attributes('-alpha', 0.0) # 设置完全透明
# 创建画布
canvas = tk.Canvas(root, width=200, height=200, bg='white', highlightthickness=0)
canvas.pack()
# 在画布上绘制图形
rect = canvas.create_rectangle(50, 50, 150, 150, fill='red')
# 设置画布不透明
canvas.itemconfig(rect, alpha=1.0)
# 运行窗口
root.mainloop()
```
在这个例子中,我们创建了一个完全透明的窗口,并在其中创建了一个画布。然后我们在画布上绘制了一个红色矩形,并将其alpha值设置为1.0,使它不透明。最后我们运行窗口,就可以看到一个完全透明的窗口,但是画布上的矩形是不透明的。
python Tkinter 创建一个完全透明的窗口,画布不透明 图形
可以通过设置窗口的透明度来实现创建一个完全透明的窗口。但是,如果想要画布不透明,可以在画布上绘制一个不透明的矩形,然后在矩形上绘制图形。
以下是一个示例代码:
```python
import tkinter as tk
root = tk.Tk()
# 设置窗口透明度
root.attributes('-alpha', 0)
# 创建画布
canvas = tk.Canvas(root, bg='white')
canvas.pack(fill=tk.BOTH, expand=True)
# 在画布上绘制不透明矩形
canvas.create_rectangle(50, 50, 150, 150, fill='blue')
# 在矩形上绘制图形
canvas.create_oval(75, 75, 125, 125, fill='green')
root.mainloop()
```
在这个例子中,我们首先将窗口的透明度设置为 0,使其完全透明。然后,我们创建了一个白色的画布,并在画布上绘制了一个不透明的蓝色矩形。最后,在矩形上绘制了一个绿色椭圆形。
注意:在某些操作系统上,完全透明的窗口可能会显示为黑色。如果遇到这种情况,可以尝试设置窗口的透明度为一个非常小的值,例如 0.001。