Cambia il colore del testo dell'etichetta in GTK in c
Domanda
Sto usando GTK 2.0.
Sto cercando di cambiare il colore del testo / il colore del carattere dell'etichetta.
Quanto è difficile ottenere?Sto solo provando cose come gtk_widget_modify_text ecc. Non disponibile.Voglio andare il modo "Android" o "Qt" dicendo aggiungendo un semplice file di risorse con tutti gli stili.Dove e come cosa (.RC?) Dovrei aggiungere questo file?Come analizzare questo file?
Ho già scritto la mia app con un sacco di widget e non voglio cambiarli / rifatti tutti.Qualcuno può mostrarmi un semplice esempio?
Ho persino provato un esempio di Pango dal web, ma il problema è il testo nella mia etichetta continua a cambiare e quindi non potevo seguirlo. Per favore aiuto.Ecco cosa ho provato finora e senza successo.
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);
. Soluzione
Dal mio punto di vista, è possibile utilizzare il file ROURCE GTK (file RC) in questo caso.
È possibile utilizzare la funzione GTK_RC_PARSE per caricare il file RC.
void gtk_rc_parse(const gchar *filename);
.