CSS 在 GTK+ 中不起作用

CSS in GTK+ doesn't work

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

provider = gtk_css_provider_new ();
display = gdk_display_get_default ();
screen = gdk_display_get_default_screen (display);
gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);

const gchar *myCssFile = "style.css";
GError *error = 0;

gtk_css_provider_load_from_file(provider, g_file_new_for_path(myCssFile), &error);
g_object_unref (provider);

这不起作用,但是当我将 "style.css" 更改为完整路径时,一切正常。我做错了什么?

请执行最低限度的操作:检查您的错误代码并进行处理。

const gchar *css_relpath = "style.css";
GError *error = NULL;
GFile *css_file = g_file_new_for_path(css_relpath); 

gtk_css_provider_load_from_file(provider, css_file, &error);
if (error)
{
    // Display a warning if the stylesheet is not loaded
    g_warning ("%s", error->message);

    // Free the memory allocated for the error
    // and acknowledge the error has been processed
    g_clear_error (&error);
}
g_object_unref (css_file);
window {
    background-image: image(Peru);
}

button {
    background-image: image(Tan);
    background-color: Tan;
}

button:active {
    background-image: image(#C69F6C);
    background-color: #C69F6C;
}

#unpressed {
    background-image: image(Sienna);
    background-color: Sienna;
}

#button_black {
    background-image: image(Black);
    background-color: Black;
}

#button_white {
    background-image: image(White);
    background-color: White;
}

"style.css:2:19Not a valid image" 我上面的 .css 文件