ツリービューの背景色を交互に変更しようとしています。通常、これはテーマに任せる必要があることはわかっていますが、gtkスタイルの機能をテストするためにオーバーライドしたいと思います。ここのtreeviewのドキュメントによると、TreeViewには、「even-row-color」、「odd-row-color」、「allow-rules」(ドキュメントによると)など、読み取り専用のスタイルオプションがいくつかあることを学びました。 、偶数行と奇数行の色の描画を可能にします)。そして、これらの読み取り専用設定をオーバーライドするには、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
これはすべてデフォルト設定です。通常は、文字列を解析して適切な値を設定するだけではないと思いますが、この場合、背景色は指定した色に変わります(すべての行の背景を1色にペイントするだけです)。
私は何が間違っているのですか?