如何恢复Gtk Widget的默认颜色?

问题描述 投票:2回答:2

如果我在某些事件(如按钮单击)上将GtkEventBox bg颜色设置为某些自定义颜色。

// Set Window Background color
GdkColor color;
gdk_color_parse("red", &color);
gtk_widget_modify_bg(GTK_WIDGET(myEvtBox), GTK_STATE_NORMAL, &color);

再次点击后我需要将其恢复到原始状态/颜色怎么做? 我需要记住该小部件状态的默认颜色吗?

gtk
2个回答
6
投票

如果您仔细阅读文档,可以节省一些时间并更快地得到答案。如果你通过NULL而不是&color,那么你撤消之前调用gtk_widget_modify_bg()的效果。


1
投票

作为ptomato答案的补充:

在python中,值必须是None,例如:

label.override_color(Gtk.StateFlags.NORMAL,None

© www.soinside.com 2019 - 2024. All rights reserved.