문제
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);
. 제휴하지 않습니다 StackOverflow