¿Hay una manera de crear ventanas transparentes con Tkinter?

Estoy intentando, en última instancia, crear “ventanas de formas extrañas” con Python usando el módulo Tkinter. Pero por ahora me conformaré con poder hacer que el fondo sea transparente y mantener los widgets secundarios totalmente visibles.

Soy consciente de que esto se hace con wxPython y algunos otros módulos, pero estoy investigando los límites de Tkinter.

¿Puede Tkinter crear un canvas o un marco transparente? ¿Puede empaquetar elementos UI sin un canvas o marco? ¿Pueden los elementos individuales de la interfaz de usuario ser transparentes?

¿Puede pasar las ubicaciones de hacer clic con el mouse al sistema para procesar cualquier ventana debajo de él en la stack Z?

La opción root.attributes('-alpha', 0.1) se puede usar para hacer una ventana transparente

 from Tkinter import * root = Tk() root.attributes('-alpha', 0.3) root.mainloop() 

Sin embargo, en este caso, incluso los widgets en la raíz heredarán la transparencia.

Actualización para Linux (Probado en Ubuntu)

El código anterior no funciona en máquinas Linux. Aquí hay una actualización que funciona en Linux.

 from tkinter import Tk # or(from Tkinter import Tk) on Python 2.x root = Tk() root.wait_visibility(root) root.wm_attributes('-alpha',0.3) root.mainloop() 

No estoy seguro si esto funciona en Windows.