2012-01-06 4 views
1

Я рисую информационное окно, используя wx поверх wxGLCanvas. Я хочу иметь возможность затухать в этом окне, так что это альфа-смесь с изображением, созданным OpenGL. Есть ли способ сделать это?Рисование полупрозрачного окна в wxwidgets

Я попытался не нарисовать фон для перекрывающегося виджета, но я получаю только белый прямоугольник. Я также попытался использовать wxGraphicsContext, без успеха.

Следующая мысль состоит в том, чтобы нарисовать окно в памятиDCDC и собрать изображения в 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

+0

Ну, все внутри рамки также будет прозрачным. Невозможно выбрать, какие из них будут прозрачными, а какие - нет. –