Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 设置高亮显示行时CellRenderText的前景色_Python_Gtk_Pygtk_Gtktreeview_Cellrenderer - Fatal编程技术网

Python 设置高亮显示行时CellRenderText的前景色

Python 设置高亮显示行时CellRenderText的前景色,python,gtk,pygtk,gtktreeview,cellrenderer,Python,Gtk,Pygtk,Gtktreeview,Cellrenderer,当我有一个gtk.cellRenderText时,我可以将其前景颜色与树存储的一个列相关联,并将前景集属性设置为True,以更改该列中文本的颜色。但是,当选择带有彩色列的行时,其颜色将消失,并与任何选定单元格的颜色相同。选择颜色时,如何更改颜色?我遇到了相同的问题,在尝试不同的选项后,使用标记属性而不是文本属性解决了问题。请查找以下在Ubuntu Maverick中工作的示例: #!/usr/bin/python import gtk

当我有一个
gtk.cellRenderText
时,我可以将其
前景
颜色与树存储的一个列相关联,并将
前景集
属性设置为True,以更改该列中文本的颜色。但是,当选择带有彩色列的行时,其颜色将消失,并与任何选定单元格的颜色相同。选择颜色时,如何更改颜色?

我遇到了相同的问题,在尝试不同的选项后,使用
标记
属性而不是
文本
属性解决了问题。请查找以下在Ubuntu Maverick中工作的示例:

#!/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()
#/usr/bin/python
进口gtk
类应用程序(对象):
定义初始化(自):
window=gtk.window()
型号=gtk.TreeStore(str)
追加(无,行=('normalrow',))
model.append(无,行=('Red row',))
treeview=gtk.treeview(模型)
renderer=gtk.CellRendererText()
column=gtk.TreeViewColumn('column',renderer,markup=0)
treeview.append_列(列)
scrolled_window=gtk.scrolled window()
滚动窗口。添加(treeview)
添加(滚动窗口)
window.connect('destroy',lambda w:gtk.main_quit())
window.show_all()
def运行(自):
gtk.main()
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
应用程序().run()

在我正在处理的包含多个列的更复杂的树状视图中,
markup
属性在未选中行时似乎不起作用。无论如何,同时使用
标记
前景
属性似乎很好。

yeup非常奇怪。。不过非常感谢,使用这两种方法!其中提到“此方法[标记]与上述[属性]之间的一个区别是,无论行是否被选中或处于焦点,其效果都适用。”但我仍然想知道,如果没有标记,它是否可能实现。