좋아, 나는 최근에 C로 GTK +로 프로그래밍하기 시작했다. 나는 내 코드에 GdkToggleButton을 가지고 있으며 CSS로 스타일을 추가하고 싶다. 거의 모든 GTK3 + 문서를 여기에서 읽었지만 내 경우에는 맞지 않습니다. 실제로 CSS에 관한 문서 일부가 있지만 CSS 파일을 실제로 구문 분석 할 수있는 부분을 찾을 수 없습니다.CSS 스타일링 GTK +
내가 원하는 것은 CSS 나 다른 방법으로 GdkToggleButton의 색상을 변경하는 것입니다.
나는 CSS 파일을 어디에 두어야하는지 파싱하고 위젯에 추가하는 방법을 알고 싶다.
버튼의 GdkRGBA (컬러)를 실제로 얻을 수는 있지만 변경 사항은 적용되지 않습니다. 버튼의 GdkRGBA를 변경하는 방법은 다음과 같습니다.
GdkRGBA *color ;
GtkWidget *button;
GtkStyleContext *context;
color = gdk_rgba_copy (color); // I don't know to initialize GdkRGBA :(
context = gtk_widget_get_style_context(button);
button = gtk_toggle_button_new_with_label ("Hello World");
gtk_style_context_get_color(context,
GTK_STATE_FLAG_NORMAL,
color);
gdk_rgba_parse(color,
"red");
당신은 gtk_css_provider_load_from_data()
과 프로그램에 포함 된 사용자 정의 CSS를로드 할 수
gtk_css_provider_load_from_path (cssProvider,
"/home/shadow_m2/code.css",
NULL);
gtk_style_context_add_provider (context,
GTK_STYLE_PROVIDER(cssProvider),
GTK_STYLE_PROVIDER_PRIORITY_USER); // I had used wrong priority on first try
gtk_style_context_save (context);
GtkCssProvider를 찾고 있습니다. – andlabs
나는 또한 그것을 시도하고 CSS 파일을로드하지만 GtkCssProvider로 위젯 스타일을 지정하는 방법을 모른다. @andlabs –
GtkCssProvider를 사용하여 메모리에서 CSS를로드 할 수 있습니다. 위젯에 적용하려면 GtkStyleContext (모든 GtkWidgets에 있음)를 참조하십시오. – andlabs