Gtkmm получает цвет метки

У меня нет ошибки кода, я просто везде посмотрел и не могу понять, как это сделать. Я хочу получить цвет виджета Gtk::, ярлык Gtk::. Я могу переопределить цвет метки следующим образом: l.override_color(c, l.get_state_flags()); , но я понятия не имею, как вернуть этот цвет с этикетки, спасибо!


person chris ryan    schedule 30.01.2013    source источник


Ответы (1)


Это способ установить и получить цвет метки:

// Set Color
Gtk::Label label("some label");
label.override_color (Gdk::RGBA("red"), Gtk::STATE_FLAG_NORMAL);

// Get Color
Glib::RefPtr<Gtk::StyleContext> stylecontext = label.get_style_context();
Gdk::RGBA color = stylecontext->get_color(Gtk::STATE_FLAG_NORMAL);
std::cout << color.to_string(); // Display color as "rgb(x, x, x)"
person GTK 1.2.6 fanboy    schedule 30.01.2013