Спасибо lethalman и nemequ.
Я думаю, что это может помочь кому-то, поэтому вот небольшой пример того, как использовать css с Vala.
using Gtk;
public class StyleApp1 : Gtk.Window
{
public StyleApp1()
{
this.title = "Style app example";
this.set_border_width (10);
this.set_position (Gtk.WindowPosition.CENTER);
this.set_default_size (350, 200);
this.destroy.connect (Gtk.main_quit);
var screen = this.get_screen();
var css_provider = new Gtk.CssProvider();
string path = "styleapp1.css";
// test if the css file exist
if (FileUtils.test (path, FileTest.EXISTS))
{
try {
css_provider.load_from_path(path);
Gtk.StyleContext.add_provider_for_screen(screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER);
} catch (Error e) {
error ("Cannot load CSS stylesheet: %s", e.message);
}
}
var box = new Gtk.Box (Gtk.Orientation.VERTICAL, 10);
this.add (box);
var label = new Gtk.Label ("Thank you");
box.add (label);
var label2 = new Gtk.Label ("Stackoverflow");
label2.get_style_context().add_class("my_class");
box.add (label2);
}
}
static int main(string[] args) {
Gtk.init(ref args);
StyleApp1 win = new StyleApp1();
win.show_all();
Gtk.main();
return 0;
}
и файл styleapp1.css:
GtkWindow {
font-size: 17px;
}
.my_class {
color: pink;
}
NB: если вы используете add_provider вместо add_provider_for_screen. Вы должны использовать add_provider для каждого виджета, который вы хотите настроить.
Возможный дубликат [Как изменить размер шрифта в GTK?] (Http://stackoverflow.com/questions/1269326/how-can-i-change-the-font-size-in-gtk) –
Этот другой вопрос относится только к GTK 2. (Я отметил его как таковой.) CSS - правильный ответ на этот вопрос. – ptomato