How to set the transparency of the tkinter frame?

14,542

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)

You can also do root.attributes("-transparentcolor", "red") if you are using Windows, but again it will be applied to the whole window.

Otherwise, you can overlay PNG images with transparent parts using a Canvas.

Share:
14,542
김창회
Author by

김창회

Updated on June 26, 2022

Comments

  • 김창회
    김창회 almost 2 years

    Python version 2.7

    Code:

    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?

    If I add the code

     visible.attributes("transparentcolor","red")
    

    I get error : AttributeError: Frame instance has no attribute 'attributes'

    and with code

    visible.configure(bg='#988C8900');
    

    I get error : tkinter.TclError: invalid color name "#988C8900"

    What should I do?