如何设置tkinter框架的透明度? [英] How to set the transparency of the tkinter frame?
问题描述
Python 2.7版
Python version 2.7
代码:
from Tkinter import *
root = Tk();
root.geometry ('{}x{}'.format(w,h));
left_frame = Frame(root, width = w*0.8, height=400, bg='#988C89');
right_frame = Frame(root, bg='#988C89', width = w*0.8, height=400 );
left_frame.grid_propagate(0);
right_frame.grid_propagate(0);
root.grid_rowconfigure(1, weight=1);
root.grid_columnconfigure(0, weight=1);
visible = Frame (root, width = w*0.8, height=400);
visible.grid(row=0, column=0, sticky="new");
如何调整可见框的透明度?
How do I adjust the transparency of a visible frame?
如果我添加代码
visible.attributes("transparentcolor","red")
我收到 error:AttributeError:框架实例没有属性'attributes'
和代码
visible.configure(bg='#988C8900');
我收到 error:tkinter.TclError:无效的颜色名称"#988C8900"
我该怎么办?
推荐答案
您只是不能在tkinter中设置框架的透明度.但是您可以使用以下命令设置整个窗口的透明度 root.attributes('-alpha',0.5)
You just cannot set the transparency of the frame in tkinter. But you can set the transparency of the whole window with
root.attributes('-alpha', 0.5)
如果您使用的是Windows,也可以执行 root.attributes(-transparentcolor","red")
,但同样会应用于整个窗口.
You can also do root.attributes("-transparentcolor", "red")
if you are using Windows, but again it will be applied to the whole window.
否则,您可以使用 Canvas
将PNG图像与透明部分重叠.
Otherwise, you can overlay PNG images with transparent parts using a Canvas
.
这篇关于如何设置tkinter框架的透明度?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!