1
GTK 스타일의 클래스의 텍스트 색상을 얻으려고합니다. 위젯 경로와 속성을 가져올 클래스가있는 GtkStyleContext가 있습니다. GTK3 : 스타일의 클래스 속성 얻기
GtkWidgetPath* widgetPath = gtk_widget_path_new();
gtk_widget_path_append_type(widgetPath, GTK_TYPE_WINDOW);
gtk_widget_path_iter_set_name(widgetPath, -1 , "UnityPanelWidget");
GtkStyleContext *context = gtk_style_context_new();
gtk_style_context_set_path(context, widgetPath);
gtk_style_context_add_class(context, "gnome-panel-menu-bar");
gtk_style_context_add_class(context, "unity-panel");
나는 gtk_style_context_lookup_color를 사용하고는 일반 텍스트 색상하지만 그놈 패널 메뉴 바 또는 연합 패널의 텍스트 색을 가져옵니다.
GtkCssProvider를 사용해 보았지만 내가 추가 한 클래스가없는 일반 스타일을 얻습니다.
Qt 응용 프로그램에서 네이티브 GTK3 디자인을 사용하고 있습니다. 이 코드는 GTK 응용 프로그램에서 올바르게 작동합니다.
감사합니다.
Qt에서 다른 스타일을 사용하여 동일한 프로세스에서 Gtk2 및 Gtk3을 실행하는 오류를 피할 수 있었으므로 Qt로 Gtk3을 실행할 수있었습니다. 나는 몇 번의 해킹을 끝내었다. 어쨌든 회신 해 주셔서 감사합니다! –