0

我没有代码错误,我只是到处看了看,不知道该怎么做。我想获得 Gtk::widget 的颜色,即 Gtk::label。我可以像这样覆盖标签的颜色: l.override_color( c, l.get_state_flags() ); ,但我不知道如何从标签中恢复该颜色,谢谢!

4

1 回答 1

3

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

// 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)"
于 2013-01-30T06:03:00.603 回答