方法
GtkWidgetset_opacity
声明 [src]
void
gtk_widget_set_opacity (
GtkWidget* widget,
double opacity
)
描述 [src]
请求将小部件渲染部分透明。
不透明度为0时完全透明,不透明度为1时完全不透明。
不透明性适用于顶层小部件和子小部件,尽管存在一些限制:对于顶层小部件,应用不透明性取决于窗口系统的能力。在X11上,这只有在使用合成管理器的X显示上才有效,见 gdk_display_is_composited()
。在Windows和Wayland上它总会起作用,尽管在窗口已经显示后设置窗口的不透明度可能会引起一些闪烁。
请注意,不透明性通过包含进行继承——如果您将顶层设置为部分透明,其所有内容都将显示为透明,因为它最终是在该顶层上渲染的。不透明度值本身不会被子小部件继承(因为这会使层次结构中更深的小部件逐渐变得更加透明)。因此,GtkPopover
实例和具有自己表面的其他 GtkNative
小部件将使用它们自己的不透明度值,因此默认情况下它们看起来是不透明的,即使它们附加到透明的高端也是如此。