Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyGTK中的小部件透明性?_Python_Linux_Gtk_Pygtk_Cairo - Fatal编程技术网

Python PyGTK中的小部件透明性?

Python PyGTK中的小部件透明性?,python,linux,gtk,pygtk,cairo,Python,Linux,Gtk,Pygtk,Cairo,在PyGTK应用程序中实现特定小部件透明的最佳方法是什么?我不想使用主题,因为每个小部件的透明度将通过动画改变 我唯一能找到的就是使用cairo来绘制带有Alpha的小部件,但我不知道如何做到这一点。也许还有更好的方法来做到这一点吗 谢谢 假设您的程序在composition manager下运行,您可以通过操纵小部件的X窗口来获得每个小部件的透明度。看 注意,它不是gtk.Window;您可以通过获取其窗口属性(buttonWidget.window)来获取此对象,但仅当小部件实现时,并且仅当

在PyGTK应用程序中实现特定小部件透明的最佳方法是什么?我不想使用主题,因为每个小部件的透明度将通过动画改变

我唯一能找到的就是使用cairo来绘制带有Alpha的小部件,但我不知道如何做到这一点。也许还有更好的方法来做到这一点吗


谢谢

假设您的程序在composition manager下运行,您可以通过操纵小部件的X窗口来获得每个小部件的透明度。看

注意,它不是
gtk.Window
;您可以通过获取其
窗口
属性(
buttonWidget.window
)来获取此对象,但仅当小部件实现时,并且仅当小部件处理事件时——例如,gtk.Label没有自己的X窗口


如果您在没有composition manager的情况下也需要工作,那么自己绘制小部件是唯一的选择——但您不必使用cairo;在裸X窗口上逐像素绘制也会起作用。

假设您的程序在composition manager下运行,您可以通过操纵小部件的X窗口来获得每个小部件的透明度。看

注意,它不是
gtk.Window
;您可以通过获取其
窗口
属性(
buttonWidget.window
)来获取此对象,但仅当小部件实现时,并且仅当小部件处理事件时——例如,gtk.Label没有自己的X窗口

如果您在没有composition manager的情况下也需要工作,那么自己绘制小部件是唯一的选择——但您不必使用cairo;在裸X窗口上逐像素绘制也可以