Пользовательская форма окна wxWidgets (PNG) - PullRequest
4 голосов
/ 11 октября 2010

Я использую привязки wxPython для wxWidgets. Можно ли создать нестандартное окно из PNG-изображения и в виде альфа-канала? Взгляните на заставку VS2010, чтобы понять, что я имею в виду:

alt text

Выделенные зоны (закругленный угол и тень) не четкие, они используют альфа-канал, чтобы выглядеть гладкими.

Обновление : мне нужна не только пользовательская форма, но и гладкая пользовательская форма

Обновление 2 : Похоже, что это невозможно сделать с помощью wx: (

Ответы [ 3 ]

2 голосов
/ 12 октября 2010

Взгляните на shapedwindow из документов и демонстраций из wxpython

0 голосов
/ 02 ноября 2010

Насколько я знаю, есть хотя бы один способ сделать это:

  1. Создайте всплывающее окно, но не показывайте его (просто создайте и инициализируйте). Это окно должно быть без полей и должно иметь поля для градиентов будущей тени.
  2. Градация части подстилающего окна к изображению.
  3. Показать заставку. Нарисуйте сохраненное изображение, нарисуйте тени и заставку со всеми необходимыми прозрачными материалами.

Однако этот метод подходит только для заставок: (

0 голосов
/ 11 октября 2010

Если вам нужен экран-заставка, вы можете использовать класс AdvancedSplash , который поддерживает маскирование.

...