作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一个简单的函数,其目的是更改 GtkLabel 的文本和颜色。问题是(当然):它不起作用。“状态”中包含的文本设置正确,但颜色设置不正确。
我使用Pango属性来设置它,但没有办法。调用如下:_SetStatus(context, "Running", "green");
GUI_ERR_HDL _SetStatus(GuiContext *context, const gchar *status, const gchar *color) {
GtkLabel *lbl;
PangoAttrList *pngList;
PangoAttribute *pngFgColor;
GdkRGBA rgba;
guint16 r;
guint16 g;
guint16 b;
lbl=GTK_LABEL(gtk_builder_get_object(context->builder,
(gchar*)OPENSESSION_LBL_STATUS));
pngList=gtk_label_get_attributes(lbl);
gdk_rgba_parse(&rgba, color);
r=(guint16)rgba.red*255;
g=(guint16)rgba.green*255;
b=(guint16)rgba.blue*255;
pngFgColor=pango_attr_foreground_new(r,g,b);
pango_attr_list_change(pngList, pngFgColor);
gtk_label_set_attributes(lbl, pngList);
gtk_label_set_label(lbl, status);
return NO_ERR;
}
有什么想法吗?
提前致谢。
文森特。
最佳答案
我建议使用 gtk_label_set_markup
(标记描述为 here )。
描述了另一种方法(更复杂)here .
在这两种情况下,您应该明白,用户可以使用第三方主题,并且更改颜色可能会使内容变得不可读
关于更改 GtkLabel 前景色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50987432/
我是一名优秀的程序员,十分优秀!