行がハイライトされているセットcellrenderertextフォアグラウンドカラー
-
26-09-2019 - |
質問
私はgtk.CellRendererText
を持っているとき、私は木ストアの列の1とそのforeground
の色を関連付けることができ、その列内のテキストの色を変更するには、Trueにforeground-set
属性を設定します。着色された列と行が選択された場合しかし、その色が消え、そして任意の選択されたセルの色と同じです。それが選択されているとき、私は色を変更する方法を教えてください。
解決
私は、同じ問題を抱えていたときmarkup
プロパティの代わりに、text
プロパティを使用して、さまざまな選択肢を試した後、問題を解決しました。以下見つけるとUbuntuマーベリックで動作例下さいます:
#!/usr/bin/python
import gtk
class Application(object):
def __init__(self):
window = gtk.Window()
model = gtk.TreeStore(str)
model.append(None, row=('Normal row',))
model.append(None, row=('<span foreground="red">Red row</span>',))
treeview = gtk.TreeView(model)
renderer = gtk.CellRendererText()
column = gtk.TreeViewColumn('Column', renderer, markup=0)
treeview.append_column(column)
scrolled_window = gtk.ScrolledWindow()
scrolled_window.add(treeview)
window.add(scrolled_window)
window.connect('destroy', lambda w: gtk.main_quit())
window.show_all()
def run(self):
gtk.main()
if __name__ == '__main__':
Application().run()
行が選択されていない場合、私が働いていることを複数の列を持つより複雑なツリービューでは、markup
プロパティが動作するようには思えません。とにかく、同時にmarkup
とforeground
特性の両方の使用は、作業罰金に思えるます。
所属していません StackOverflow