2012-01-06 2 views
1

wxGLCanvas를 통해 wx를 사용하여 정보 용 윈도우를 그립니다. OpenGL에서 렌더링 한 이미지와 알파가 혼합되도록 해당 창을 희미하게 표시하고 싶습니다. 이것을 할 수있는 방법이 있습니까?wxwidgets에서 반투명 윈도우 그리기

겹치는 위젯 배경을 그리지 않으려 고 시도했지만 흰색 사각형 만 있습니다. wxGraphicsContext를 사용하려고했지만 성공하지 못했습니다.

다음으로 생각해 보면 MemoryDC에 창을 그려 넣고 OpenGL에서 이미지를 합성하는 것입니다.하지만 이는 사용자가 창에서 무엇인가와 상호 작용하는 것을 방지합니다 (적어도 일반적인 수단을 통해). 어떤 조언을 부탁드립니다. Windows 7과 wxPython을 사용하고 있습니다.

답변

1

wx.Frames에는 0부터 255까지의 값을 받아 들일 수있는 SetTransparent 메서드가 있습니다. 0은 완전히 투명하고 255는 완전히 불투명합니다. 그게 당신이 가고 싶은지 아닌지에 대해서는 확신 할 수 없지만, 그렇다면 주제에 대한 자습서가 있습니다. http://www.blog.pythonlibrary.org/2008/04/14/doing-a-fade-in-with-wxpython/

+0

고맙지 만 최상위 위젯에서만 작동하는 것 같습니다. 내가 원하는 것은 자식 위젯이 반투명 한 것입니다. 어쩌면 최상위 수준의 프레임으로 자식 위젯을 가짜로 만들 수는 있지만 나쁜 생각처럼 들릴 수 있습니다. – tkerwin

+0

글쎄, 프레임 안의 모든 것도 투명해질 것입니다. 어떤 것들이 투명하고 어떤 것들은 투명하게 될지 선택할 방법이 없습니다. –