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 に答える