gtk +使用css更改按钮

时间:2017-12-18 13:52:06

标签: css button colors gtk

有谁知道如何使用css更改按钮颜色?我需要根据函数是否返回true / false来更改它。 我发现这段代码但我不能改变按钮的颜色。按钮的颜色变为蓝色。

unocoin.com

我正在尝试更改按钮颜色的功能。

GdkDisplay *display;
GdkScreen *screen;
GtkCssProvider *provider;
GtkWidget *testBtn;

//create a button
testBtn = gtk_button_new_with_label("test");
//give button ID
gtk_widget_set_name(GTK_WIDGET(testBtn), "testBtnNeutral");

//Create objects.
provider = gtk_css_provider_new();
display = gdk_display_get_default();
screen = gdk_display_get_default_screen(display);

//Connect screen with provider.
gtk_style_context_add_provider_for_screen(screen, 
GTK_STYLE_PROVIDER(provider), GTK_STYLE_PROVIDER_PRIORITY_USER);
//Give button color.
gtk_css_provider_load_from_data(GTK_CSS_PROVIDER(provider), "#testBtnNeutral {background:blue; color:white} \n #testBtnFail {background:red; color:white} \n #testBtnSuccess {background:green; color:white}", -1 , NULL);

1 个答案:

答案 0 :(得分:0)

下面的代码段按预期工作,你的testFunction或其调用者可能有问题,CRITICAL错误很明显,StructPointer->testBtn不是GtkWidget,也许是{{1} }。

NULL