Gtkmm获得标签颜色

时间:2013-01-30 02:45:27

标签: c++ user-interface gtk gtkmm

我没有代码错误,我只是到处看,无法弄清楚如何做到这一点。我想获得Gtk :: widget的颜色,即Gtk :: label。我可以覆盖这样的标签颜色:l.override_color(c,l.get_state_flags()); ,但我不知道如何从标签上取回那种颜色,谢谢!

1 个答案:

答案 0 :(得分:2)

这是一种设置和获取标签颜色的方法:

// 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)"