문제

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