Вам все еще нужно создать CssProvider, как в коде, на который вы ссылаетесь:
var screen = this.get_screen ();
var css_provider = new Gtk.CssProvider();
Вы можете вызвать load_from_data ()
вместо load_from_path ()
, чтобы загрузить его из строки в памяти вместо файла:
https://valadoc.org/gtk+-3.0/Gtk.CssProvider.load_from_data.html
css_provider.load_from_data(".my_class { font-size: 17px; }");
Gtk.StyleContext.add_provider_for_screen(screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER);
Когда поставщик CSS загрузил пользовательские стили, которые будут использоваться, вы можете манипулировать каждым виджетом Gtk + с помощью get_style_context ()
.
Контекст стиля имеет методы для добавления, удаления и запроса класса и т. Д.
https://valadoc.org/gtk+-3.0/Gtk.StyleContext.html
label.get_style_context().add_class("my_class");
Поскольку вам нужно настроить поставщика стилей только один раз, я не думаю, что это слишком много.