Ok, thanks but I have used css but does not change, I attached the code. I use version 3.4.
theme.css
Code:
GtkWindow {
background-image: url("fondo.jpg");
}
GtkButton {
background-color: white;
}
ejemplo.c
Code:
#include <gtk/gtk.h>
#include <stdlib.h>
#include <string.h> /* for css */
typedef struct {
GtkWidget *window;
GtkWidget *box;
GtkWidget *button_1;
GtkWidget *button_2;
GtkWidget *button_close;
GtkWidget *button;
} example;
int main(int argc, char *argv[]) {
example test;
GtkBuilder *builder;
/*---- CSS ------------------*/
GtkCssProvider *provider;
GdkDisplay *display;
GdkScreen *screen;
/*---------------------------*/
//Inicio
gtk_init (&argc, &argv);
builder = gtk_builder_new();
gtk_builder_add_from_file(builder, "test-gtkbuilder.glade", NULL);
test.window = GTK_WIDGET (gtk_builder_get_object (builder, "window1"));
test.box = GTK_WIDGET (gtk_builder_get_object (builder, "box1"));
test.button_1 = GTK_WIDGET (gtk_builder_get_object (builder, "eventbox2"));
test.button_j2 = GTK_WIDGET (gtk_builder_get_object (builder, "button2"));
test.button = GTK_WIDGET (gtk_builder_get_object (builder, "button3"));
test.button_close = GTK_WIDGET (gtk_builder_get_object (builder, "button5"));
/* ----------------- CSS ----------------------------------------------------------------------------------------------*/
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);
gsize bytes_written, bytes_read;
const gchar* home = "theme.css";
GError *error = 0;
gtk_css_provider_load_from_path (provider,
g_filename_to_utf8(home, strlen(home), &bytes_read, &bytes_written, &error),
NULL);
g_object_unref (provider);
/* --------------------------------------------------------------------------------------------------------------------*/
g_signal_connect (G_OBJECT (test.button_close), "clicked", G_CALLBACK (callback_close), NULL);
g_signal_connect (G_OBJECT (test.window), "delete_event", G_CALLBACK (gtk_main_quit), NULL);
g_signal_connect (G_OBJECT (test.window), "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_window_maximize (GTK_WINDOW (test.window));
gtk_widget_show_all(test.window);
gtk_main ();
//Cerrar MYSQL
mysql_close(test.con);
return 0;
}