如何设置tkinter框架的透明度?

김창회*_*김창회 2 python tkinter frame

Python 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");
Run Code Online (Sandbox Code Playgroud)

如何调整可见框架的透明度?

如果我添加代码

 visible.attributes("transparentcolor","red")
Run Code Online (Sandbox Code Playgroud)

我得到 error : AttributeError: Frame instance has no attribute 'attributes'

和代码

visible.configure(bg='#988C8900');
Run Code Online (Sandbox Code Playgroud)

我得到 error : tkinter.TclError: invalid color name "#988C8900"

我该怎么办?

j_4*_*321 5

您无法在 tkinter 中设置框架的透明度。但是你可以设置整个窗口的透明度 root.attributes('-alpha', 0.5)

root.attributes("-transparentcolor", "red")如果您使用的是 Windows,您也可以这样做,但它会再次应用于整个窗口。

否则,您可以使用 .png 文件覆盖带有透明部分的 PNG 图像Canvas