2009-02-24 9 views
0

Est-il possible de définir l'opacité d'un widget dans PyGTK?
Je sais qu'il ya une fonction pour les fenêtres:Opacité du widget PyGTK

gtk.Window.set_opacity(0.85) 

, mais il semble y avoir pas d'équivalent pour les widgets arbitraires.
Quelqu'un a des idées?

Merci d'avance pour votre aide.

+0

le bureau/autres fenêtres? ou un autre widget dans votre application? – anthony

+0

Fondamentalement, je veux voir les fenêtres de bureau/autres. J'ai actuellement un gestionnaire d'événement d'exposition personnalisé pour rendre l'arrière-plan de fenêtre semi-transparent (je dessine ceci avec Cairo), qui fonctionne très bien, mais je ne sais pas s'il existe un moyen de faire quelque chose de similaire avec les widgets GTK + habituels. –

Répondre

3

From pygtk reference:

Pour la mise en place alpha, voir par pixel gtk.gdk.Screen.get_rgba_colormap(). Pour rendre translucides les fenêtres de niveau supérieur, voir gtk.gdk.Window.set_composited().

+0

Cela dépendra toujours du fait qu'il s'agisse d'un widget qui a son propre GdkWindow –

+0

Non si vous souhaitez définir un canal alpha par pixel. Ce serait très difficile à mettre en œuvre correctement, cependant. –

+0

Je vais ajouter à cela que les canaux alpha sur Windows gtk ne fonctionnent pas dans les systèmes Windows ... seulement Unix. – CodeMouse92

0

Il peut également être intéressant de regarder dans pygtkglext pour des trucs widget plus sophistiqués. Que voulez-vous voir "à travers" le widget que vous voulez rendre translucide?