【Python】【TkInter】투명한 Frame을 생성한다

첫 qiita 게시물입니다.
지식의 축적도 겸하고, 앞으로 부정기로 투고하겠습니다.

환경



파이썬 3.7.0

투명한 프레임 표시



windows와 mac에서 표시하는 방법은 다릅니다.
wm_attributes 함수를 사용하여 옵션을 설정합니다.
from tkinter import ttk
import tkinter
import os

if os.name == "nt" :
    # windows10の場合
    root = tkinter.Tk()
    root.wm_attributes("-transparentcolor", "white")
    root.geometry("+300+300")

    ttk.Style().configure("TP.TFrame", background="white")
    f = ttk.Frame(master=root, style="TP.TFrame", width=300, height=300)
    f.pack()

    root.mainloop() 
elif os.name == "posix":
    # mac, windows7(cygwin)の場合

    # windows7のcygwin上で動かしている場合、以下が必要になります
    # os.environ['DISPLAY'] = ':0.0'

    root = tkinter.Tk() 
    root.wm_attributes("-transparent", True) 
    root.geometry("+300+300") 

    f = tkinter.Frame(root, width=300, height=300)
    f.configure(bg="systemTransparent")
    f.pack()

    root.mainloop() 


결과



좋은 웹페이지 즐겨찾기