Хорошо, я недавно начал программирование с GTK + в C. У меня есть GdkToggleButton в моем коде, и я хочу добавить к нему стиль css. Я читал почти всю документацию GTK3 + здесь https://developer.gnome.org/gtk3/stable, но ничего не нашел, что подходит моему делу. На самом деле есть часть документации о CSS, но я не смог найти эту часть, чтобы на самом деле разобрать файл css.CSS Styling в GTK +
Все, что я хочу сделать, это изменить цвет GdkToggleButton либо с помощью CSS, либо с помощью любого другого метода.
Я хочу знать, где положить файл css и как его разобрать и добавить в виджет.
Я действительно мог получить GdkRGBA (цвет) кнопки, но изменения не имеют никакого эффекта. Вот как я изменяю кнопку GdkRGBA.
GdkRGBA *color ;
GtkWidget *button;
GtkStyleContext *context;
color = gdk_rgba_copy (color); // I don't know to initialize GdkRGBA :(
context = gtk_widget_get_style_context(button);
button = gtk_toggle_button_new_with_label ("Hello World");
gtk_style_context_get_color(context,
GTK_STATE_FLAG_NORMAL,
color);
gdk_rgba_parse(color,
"red");
решаемые
gtk_css_provider_load_from_path (cssProvider,
"/home/shadow_m2/code.css",
NULL);
gtk_style_context_add_provider (context,
GTK_STYLE_PROVIDER(cssProvider),
GTK_STYLE_PROVIDER_PRIORITY_USER); // I had used wrong priority on first try
gtk_style_context_save (context);
Вы ищете GtkCssProvider. – andlabs
Я также пробовал это, и он загружает файл css, но не знает, как создать виджет с помощью GtkCssProvider. @andlabs –
Вы можете загрузить CSS из памяти с помощью GtkCssProvider. Чтобы применить его к виджету, см. GtkStyleContext (все GtkWidgets). – andlabs