質問

私はGTK 2.0を使用しています。

ラベルのテキストの色/フォントの色を変更しようとしています。

それはどれほど困難になりますか?私はgtk_widget_modify_textなどのようなものを試しています。私はすべてのスタイルを持つ単純なリソースファイルを追加することによって、「Android」または「QT」方法に行きたいです。このファイルを追加する必要があるのは、どこで(.rc?)このファイルを解析する方法?

私はすでに多くのウィジェットを使って私のアプリを書きました、そして私はそれらをすべて変更/やり直したくありません。誰かが私に簡単な例を見せてもらえますか?

私はウェブからパンゴの例を試したが、問題は私のラベルのテキストが変化し続けること、したがって私はこれに従うことができませんでした。 助けてください。これは私がこれまでにそして成功せずに試したことです。

    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);
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top