如何解决如何更改 gtkmm 组合框的 css 样式?
每当一个小部件改变它的状态时,它就应该改变它的样式。我已经成功实现了信号化,但我真的不知道如何改变组合框的样式。
改变小部件样式的函数:
{
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 组合框按钮的样式,这也可以解决我的问题。
解决方法
我找到了解决问题的方法。 我假设组合框的“填充”为 0px,所以我添加了“填充:2px;”在 css 字符串中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。