1

我正在使用 Gtk 2.0。

我正在尝试更改标签的文本颜色/字体颜色。

能有多难?我只是在尝试诸如 gtk_widget_modify_text 之类的东西,但无济于事。我想通过添加一个包含所有样式的简单资源文件来采用“android”或“Qt”方式。我应该在哪里以及作为什么(.rc?)添加这个文件?如何解析这个文件?

我已经用很多小部件编写了我的应用程序,我不想全部更改/重做它们。有人可以给我看一个简单的例子吗?

我什至从网上尝试了一个 Pango 示例,但问题是我标签中的文本不断变化,因此我无法遵循这一点。请帮忙。这是我迄今为止尝试过的,但没有成功。

    GtkWidget *label1;    
    label1= gtk_label_new(" ");
    gtk_box_pack_start (GTK_BOX(box1), label1,TRUE,TRUE, 0);

    GdkColor color;

    gdk_color_parse ("white", &color);


    gtk_widget_modify_text ( GTK_WIDGET(label1), GTK_STATE_NORMAL, &color);

    gchar *stringMarkupText = "<span foreground=\"white\">   <b>Bold</b></span>"; //white color and bold--> the length of this text is fixed by number of spaces. I need to call a function that would set this text on a g_signal_connect so do not want to fix spaces!!
    gchar *stringPlainText;

    PangoAttrList  *attrList;

    pango_parse_markup(stringMarkupText, -1, 0, &attrList, &stringPlainText, NULL, NULL);
    gtk_label_set_attributes(GTK_LABEL(label1), attrList);
4

1 回答 1

2

在我看来,在这种情况下,您可以使用 GTK 资源文件(rc 文件)。

您可以使用 gtk_rc_parse 函数来加载您的 rc 文件。

void gtk_rc_parse(const gchar *filename);
于 2012-05-22T10:07:34.113 回答