ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

突出显示一行时设置cellrenderertext前景颜色

2019-10-23 22:05:15  阅读:159  来源: 互联网

标签:gtk gtktreeview pygtk cellrenderer python


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

解决方法:

我遇到了同样的问题,在尝试了不同的选择之后,使用markup属性而不是text属性解决了该问题.请在下面找到适用于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()

在具有正在处理的多列的更复杂的树视图中,当未选择该行时,markup属性似乎不起作用.无论如何,同时使用标记和前景属性似乎可以正常工作.

标签:gtk,gtktreeview,pygtk,cellrenderer,python
来源: https://codeday.me/bug/20191023/1916122.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有