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 文件
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 文件