gpt4 book ai didi

在 C 中更改 GTK 中标签的文本颜色

转载 作者:太空宇宙 更新时间:2023-11-04 03:01:50 24 4
gpt4 key购买 nike

我正在使用 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);

最佳答案

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

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

void gtk_rc_parse(const gchar *filename);

关于在 C 中更改 GTK 中标签的文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10699294/

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