如何更改 gtkmm 组合框的 css 样式?

How do I change css styles of a gtkmm combobox?

只要小部件改变了它的状态,它就应该改变它的样式。我已经成功实现了信号化,但我不知道如何真正改变组合框的样式。

更改小部件样式的函数:

{
    static Glib::RefPtr<Gtk::CssProvider> css{nullptr};
    if(!css) {
        css = Gtk::CssProvider::create();
        css->load_from_data(
            "button {background-color: #fff9ed;}\
         button:hover {background-color: #fff9ed;}\
         button:active {background-color: #fff9ed;}\
         //changing background-color: to color: does not make any difference
         combobox {color: @fg_color;background-color: #fff9ed;}\ 
         .entry {color: #fff9ed;}\
         checkbutton {background-color: #fff9ed;}\
         checkbutton:checked {background-color: #fff9ed;}");
    }
    return css;
} 

这会导致在组合框上形成一个非常小的框架。这是输出:

之前:

之后:

可以清楚地看到,背景发生了变化(请参阅角上带箭头的橙色提示)。但这没有用,因为实际的框覆盖了 99% 的背景。我还没有想出如何更改 atual 组合框按钮的样式,这也可以解决我的问题。

我找到了解决问题的办法。 我假设组合框的 'padding' 为 0px,所以我在 css 字符串中添加了 'padding: 2px;'。