最近我在Gedit中看到了这个小部件。
GtkLabel:insensitive {
color: rgba(255,255,255,0);
transition: 500ms ease-in-out;
}
Gtk.StateFlags
来淡化标签。
e.g.:
label.set_state_flags(Gtk.StateFlags.INSENSITIVE, True)GtkRevealer
可以同时实现两者;请参阅我的答案。 - underscore_d如今,对于这个问题有一个真正的答案。自从最初提出并回答这个问题以来,用于显示libgd
小部件的代码 - 我猜想那时GEdit使用的就是这个 - 已被上游合并到GTK+中作为GtkRevealer
:
https://developer.gnome.org/gtk3/stable/GtkRevealer.html
GtkRevealer
支持各种形式的过渡效果,包括滑动和淡入淡出的基本方向。
所以,现在只需要将要过渡的小部件添加到GtkRevealer
中,并使用它的:transition-(type|duration)
和:reveal-child
属性即可。
libgd
并上游到GTK+的,此问题及其答案之后;请参阅我的新回答。 - underscore_d