2012-01-06 152 views
1

我正在使用wx通過wxGLCanvas繪製信息窗口。我希望能夠淡化該窗口,以便與OpenGL呈現的圖像進行alpha混合。有沒有辦法做到這一點?在wxwidgets中繪製半透​​明窗口

我試圖不爲重疊的小部件繪製背景,但我只得到一個白色的矩形。我也嘗試使用wxGraphicsContext,但沒有成功。我的下一個想法是在MemoryDC中繪製窗口並在OpenGL中合成圖像,但這會阻止用戶與窗口中的任何內容交互(至少通過常規手段)。任何提示將不勝感激。我正在使用Windows 7和wxPython。

回答

1

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