Как использовать CssStyleProvider в Gtkmm3

Я программирую на C ++ с помощью gtkmm3. Я хочу поменять некоторые шрифты в своей программе. Я прочитал все о CssStyleProvider, StyleContext в документации gtkmm, а также в документации gtk +, но я не мог заставить его работать и не мог найти никакого руководства по этому поводу. Я пробовал это

Glib::ustring data;
data="GtkMenuBar, GtkMenuItem {font-name: Sans 6}"; /*tried with semi-colon, too*/
Glib::RefPtr<Gtk::CssProvider> asd = Gtk::CssProvider::create();
Glib::RefPtr<Gtk::StyleContext> asd2 = Gtk::StyleContext::create();
asd->load_from_data(data);
asd2->add_provider(asd, 0); /*also tried different priorities*/

, тоже пробовал

Glib::ustring data;
data="GtkMenuBar, GtkMenuItem {font-name: Sans 6}"; /*tried with semi-colon, too*/
Glib::RefPtr<Gtk::CssProvider> asd = Gtk::CssProvider::create();
Glib::RefPtr<Gdk::Screen> screen;
Glib::RefPtr<Gtk::StyleContext> asd2 = Gtk::StyleContext::create();
asd->load_from_data(data);
(mainWindow.get())->get_property("screen", screen);
asd2->add_provider(screen, asd, 0); /*also tried different priorities*/

И я пробовал это перед запуском главного окна и после его запуска, но мне не повезло. Любая помощь приветствуется.

8
задан bliss 24 July 2011 в 10:57
поделиться