I tried to do this in wxPython and gave up. I found that windows, canvasses, and frames could have transparent backgrounds, but any control like a text editor, couldn't. I think it is fundamental and that GUIs assume controls have opaque backgrounds.