Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将css应用于Gtk3 css中的所有子元素? 嵌套组件的问题:_Css_Css Selectors_Gtk3 - Fatal编程技术网

如何将css应用于Gtk3 css中的所有子元素? 嵌套组件的问题:

如何将css应用于Gtk3 css中的所有子元素? 嵌套组件的问题:,css,css-selectors,gtk3,Css,Css Selectors,Gtk3,我正在尝试将背景应用于GTKComboxText 我正在获取小部件的上下文并对其应用CSS: * { background: red } 这不会更改GTKComboxText的颜色。但它适用于GtkButton和GtkLabel 看看GTKINSPTT,似乎GTKComboxText有嵌套控件,如GtkToggleButton和GtkEntry,上面的CSS没有应用到它们。 如果我通过gtk_container_forall(..)手动遍历所有嵌套组件,并选择所选组件,则背景着色有效。但我

我正在尝试将背景应用于GTKComboxText

我正在获取小部件的上下文并对其应用CSS:

 * { background: red } 
这不会更改GTKComboxText的颜色。但它适用于GtkButton和GtkLabel

看看GTKINSPTT,似乎GTKComboxText有嵌套控件,如GtkToggleButton和GtkEntry,上面的CSS没有应用到它们。 如果我通过gtk_container_forall(..)手动遍历所有嵌套组件,并选择所选组件,则背景着色有效。但我似乎找不到一种方法将CSS一次性应用于GTKComboxText,并让它对所有的孩子进行感知

这可能吗

测试片段 可以在repo中找到测试片段:

要运行:

  git clone https://github.com/LeoUfimtsev/LeoGtk3.git
  make
  ./main
尝试过的事情: 请注意: 如果我运行代码段,然后打开CSS检查器,然后应用:

 * {background: red} 
对于每个单独的子窗口小部件:

GTKComboxText
-GtkToggleButton你试过这个吗

GtkComboBoxText * {
  background-color: red;
}

如果GTK+不支持上述css,那么它确实支持
GtkBin*{/*styles here*/}
,它将样式应用于
GtkBin
的所有子元素,因此您可以将
gtkcomboxText
放在
GtkBin
元素中(可能还需要层次结构中的第一个
GTKComboxText
,因此层次结构是
GtkBin>GTKComboxText
).

谢谢你的建议。我已经尝试过了,但没有成功。我认为这不是代码片段的问题,因为我在GTKINSTECT中尝试过直接应用于GTKComboxText,但没有成功。请注意,我在问题中添加了大量信息。好的,我不确定我是否理解你的问题。是否要将背景色应用于all GTKComboxText的子元素?是的,所有子元素。我修复了标题。我阅读了你关于这个问题的更新。GtkBin没有任何方法初始化它。我如何将GTKComboxText放入GtkBin?
GtkComboBoxText * {
  background-color: red;
}