【问题标题】:How do I change css styles of a gtkmm combobox?如何更改 gtkmm 组合框的 CSS 样式?
【发布时间】:2021-09-19 16:42:15
【问题描述】:

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

改变小部件样式的函数:

{
    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 组合框按钮的样式,这也可以解决我的问题。

【问题讨论】:

标签: c++ css user-interface combobox gtkmm


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-27
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多