GTK+3 C gtk_label_set_use_markup 用于 GtkButton + CSS 样式

GTK+3 C gtk_label_set_use_markup for a GtkButton + CSS style

我正在 Ubuntu 16 上将基于 GTK+2 的应用程序移植到 GTK+3。我正在尝试为按钮的标签设置标记,但似乎有些东西已被弃用。原代码如下:

gtk_label_set_use_markup(GTK_LABEL(GTK_BIN(button)->child), TRUE);

GCC 现在抱怨 GTK_BIN 没有成员 'child'。那么我可以使用另一种技术来做到这一点吗?我真的很难找到任何有用的信息。

与此相关...我也在寻找使用 CSS 为 GTK+3 应用程序设置小部件样式的工作示例。当前应用程序使用现已弃用的 gtk_widget_override_background_color() 。似乎控制颜色的唯一方法是 CSS 但我似乎还不能将这些部分粘合在一起。我需要为不同的小部件设置不同的颜色。

经过一番搜索和试验,找到了部分问题的解决方案。只要标签是按钮小部件的唯一子元素,这就可以设置按钮标签的标记:

gtk_label_set_use_markup(GTK_LABEL( gtk_bin_get_child( GTK_BIN(button) ) ), TRUE);

我仍然没有找到使用样式动态控制标签或按钮小部件的背景颜色的方法。