在wxwidgets中绘制半透​​明窗口

问题描述:

我正在使用wx通过wxGLCanvas绘制信息窗口。我希望能够淡化该窗口,以便与OpenGL呈现的图像进行alpha混合。有没有办法做到这一点?在wxwidgets中绘制半透​​明窗口

我试图不为重叠的小部件绘制背景,但我只得到一个白色的矩形。我也尝试使用wxGraphicsContext,但没有成功。我的下一个想法是在MemoryDC中绘制窗口并在OpenGL中合成图像,但这会阻止用户与窗口中的任何内容交互(至少通过常规手段)。任何提示将不胜感激。我正在使用Windows 7和wxPython。

wx.Frames有一个SetTransparent方法,可以接受0-255的值,其中0是完全透明的,255是完全不透明的。我不确定这是否是你要做或不是,但如果是这样,这里是关于这个问题的教程:http://www.blog.pythonlibrary.org/2008/04/14/doing-a-fade-in-with-wxpython/

+0

谢谢,但这似乎只适用于*小部件。我想要的是一个子部件是半透明的。也许我可以伪造一个具有*框架的子部件,但这听起来像个坏主意。 – tkerwin 2012-01-06 18:49:57

+0

那么,框架内的所有东西也都是透明的。没有办法选择哪些将是透明的,哪些不会。 – 2012-01-06 21:28:33