在wxwidgets中绘制一个半透明窗口

时间:2012-01-06 16:25:40

标签: wxpython wxwidgets alphablending

我正在使用wx在wxGLCanvas上绘制一个信息窗口。我希望能够淡化该窗口,使其与OpenGL渲染的图像进行alpha混合。有没有办法做到这一点?

我试图不为重叠小部件绘制背景,但我只得到一个白色矩形。我也尝试使用wxGraphicsContext,但没有成功。

我的下一个想法是在MemoryDC中绘制窗口并在OpenGL中合成图像,但这会阻止用户与窗口中的任何内容进行交互(至少通过传统方式)。任何提示将不胜感激。我正在使用Windows 7和wxPython。

1 个答案:

答案 0 :(得分:1)

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