質問

私は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プロパティが動作するようには思えません。とにかく、同時にmarkupforeground特性の両方の使用は、作業罰金に思えるます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top