Comment rendre l'arrière-plan de la fenêtre Gtk + transparent?
Je tiens à rendre l'arrière-plan de Gtk+ fenêtre transparente de sorte que seuls les widgets de la fenêtre est visible. J'ai trouvé quelques tutoriels:
http://mikehearn.wordpress.com/2006/03/26/gtk-windows-with-alpha-channels/
http://macslow.thepimp.net/?p=26
Mais ils ont tous deux semblent écouter les "exposer" de l'événement, puis délégué au Caire pour faire le rendu. Cela signifie que les autres widgets ajoutés à la fenêtre ne sont pas rendus (par exemple, j'ai essayé d'ajouter un bouton à la fenêtre.).
Je vois qu'il y a une méthode modify-bg sur GtkWidget: http://library.gnome.org/devel/gtk/stable/GtkWidget.html#gtk-widget-modify-bg
Cependant, GdkColor ne semble pas accepter un paramètre pour la transparence: http://library.gnome.org/devel/gdk/stable/gdk-Colormaps-and-Colors.html
J'ai essayé de la GtkWindow.set_opacity méthode, mais cela définit l'opacité de la fenêtre de contenu, ce qui n'est pas ce que je veux.
Je vous en serais reconnaissant toute orientation quelqu'un peut fournir dans ce.
source d'informationauteur jbeard4
Vous devez vous connecter pour publier un commentaire.
J'ai changé le alphademo exemple pour dessiner un bouton au lieu de le cercle rouge.
Cette application tire sur le bouton d'un 400x400 fenêtre transparente.
Lorsque vous cliquez sur la fenêtre de l'application affiche/masque la barre de titre.
Compilé sur Ubuntu 10.04:
Merci pour le code, juste ce que je cherchais, si elle a besoin d'être modifiés GTK3. Aussi l'exposition-événement doit être changé pour un "tirage" de l'événement pour qu'il fonctionne. Alors, voici mon code contribution modifié pour GTK3:
Voici comment j'ai compilé sur Ubuntu 15.04:
J'espère que cela aide quelqu'un d'autre essaie de le faire fonctionner sur GTK3.
Merci pour la réponse. Je réécrire le code en python + GTK3: