Создание цветовой карты RGBA в PyGTK
-
27-10-2019 - |
Вопрос
У меня есть проект на Python 2.7 и PyGTK.
Мне нужно создать окно с прозрачным фоном, но при этом у меня будет возможность отображать изображения (на основе растровых изображений и масок) и другие объекты внутри окна.
Я использую следующий код, но в Ubuntu (Oneric Ocelot) не отображаются объекты изображения, и я получаю сообщение об ошибке, указанное ниже (хотя в противном случае окно отображается с его объектами кнопок). Это даже не будет отображаться в Windows 7 (эта ошибка также опубликована ниже).
родовое словоЗАПУСК WINDOWS 7:
<цитата>Отслеживание (последний вызов последним): файл "C: \ Users \ user \ MousePaw" Games \ Word4Word \ PYM \ fishtest2.py ", строка 337, в HAB_FISH () Файл "C: \ Users \ user \ MousePaw Games \ Word4Word \ PYM \ fishtest2.py", строка 100, в init hab_fish_win.set_colormap (rgba) TypeError: аргумент 1 Gtk.Widget.set_colormap () должен быть gtk.gdk.Colormap, а не Нет
Быстрая "print rgba" подтверждает, что rgba имеет значение "None", следовательно, ошибка.
ЗАПУСК UBUNTU "ONERIC OCELOT":
<цитата>Предупреждение Gtk: попытайтесь нарисовать объект для рисования с глубиной 24 в объект для рисования с глубиной 32
Что происходит? Мне отчаянно нужен этот прозрачный фон для окна.
Решение
Хорошо, после нескольких часов исследований я обнаружил, что Windows не поддерживает такого рода прозрачность.Что касается ошибки Linux, я не знаю.
Я портирую на PyGObject и использую другой метод для своих целей.Я предлагаю читателям этого ответа изучить его.