2015-01-15 3 views
2

Мне нужно получить цвет шрифта текущей темы.Получить цвет шрифта текущей темы GTK

Я нашел this question, что объясняет, как это сделать в C с gtk_style_lookup_color, но, похоже, функция устарела.

Making больше исследований я обнаружил новую функцию gtk_style_context_lookup_color

Но у меня есть проблемы с пониманием документации. Кроме того, когда я пытаюсь вызвать его, используя Gtk.style_context_lookup_color(..), я понял, что его не существует!

Это потому, что мне нужно называть это чем-то вроде GtkStyleContext.style_context_lookup_color(arg1,arg2)?

ответ

2

Я нашел ответ, используя gtk.settings.

settings=Gtk.Settings.get_default() 

    colors=settings.get_property("gtk-color-scheme") 
    colors=colors.split("\n") 

    for color in colors: 
     if 'text' in color: 
      text_color=color.split(':')[1].strip() 
      print text_color 
      break 

Кажется, что "gtk-color-scheme" свойство хранит все цвета темы, так что если вы ищете какой-либо другой цвет, который вы можете найти его таким же образом!

+0

К сожалению, цветовые схемы, похоже, сейчас не рекомендуются. – gauteh

+0

Кажется, вы [https://developer.gnome.org/gtk3/stable/GtkSettings.html](right). Какой позор! На данный момент все еще работает. – mzuther

Смежные вопросы