Я пытаюсь изменить чередующийся цвет фона дерева.Я знаю, что это обычно следует оставить до темы, но я бы хотел переопределить, чтобы проверить функциональность gtk Style.Согласно документации здесь , я узнал, что TreeView имеет несколько опций стиля, доступных только для чтения, включая «четный рядный цвет», «нечетный рядный цвет» и «разрешающие правила»(что, согласно документации, позволяет рисовать четные и нечетные цвета строк).И я знаю, что для того, чтобы переопределить эти настройки только для чтения, мне нужно изменить стиль в файле или строке в стиле gtkrc.
Итак, моя строка для древовидной структуры выглядит так:
gtk.rc_parse_string( """
style "custom-treestyle"{
GtkTreeView::odd-row-color = "#00CBFF"
GtkTreeView::even-row-color = "#90EE90"
GtkTreeView::allow-rules = 1
}
widget "*custom_treeview*" style "custom-treestyle"
""")
treeview.set_name("custom_treeview" )
Это анализирует без ошибок, и в результате получается, что цвет четного ряда применяется как к четным, так и к нечетным строкам.
РЕДАКТИРОВАТЬ: я обнаружил в ходе еще одного тестирования, что моя строка синтаксического анализа должна быть переопределена из-за других настроек стиля.
print treeview.style_get_property( 'allow-rules' )
print treeview.style_get_property( 'odd-row-color')
print treeview.style_get_property( 'even-row-color')
Дает результат:
True
None
None
Которые все настройки по умолчанию.Обычно я бы подумал, что это просто не анализ строки и установка соответствующих значений, но в этом случае цвет фона меняет на тот цвет, который я указал (только он окрашивает фон каждой строки в один цвет).
Что я делаю не так?