gpt4 book ai didi

更改 GtkLabel 前景色

转载 作者:行者123 更新时间:2023-11-30 14:47:43 25 4
gpt4 key购买 nike

我编写了一个简单的函数,其目的是更改 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com