代码之家  ›  专栏  ›  技术社区  ›  buhtz

修改pygobject中treeview项的背景

  •  1
  • buhtz  · 技术社区  · 5 年前

    我想在一个(默认情况下)不同颜色的 Gtk.TreeView . 下面的示例代码无效。背景保持白色。

    #!/usr/bin/env python3
    
    import gi
    gi.require_version('Gtk', '3.0')
    from gi.repository import Gtk
    from gi.repository import Gdk
    
    class MyTree(Gtk.TreeView):
        def __init__(self):
            Gtk.TreeView.__init__(self)
    
            # color
            color = Gdk.RGBA(221, 29, 157, 1)
    
            # model
            model = Gtk.TreeStore(int)
            for i in range(4):
                model.append(None, [i])
            self.set_model(model)
    
            # column
            ren = Gtk.CellRendererText(background_set=True,
                                       background_rgba=color)
            col = Gtk.TreeViewColumn('int', ren)
            col.add_attribute(ren, 'text', 0)
            self.append_column(col)
    
    
    class MyWindow(Gtk.Window):
        def __init__(self):
            Gtk.Window.__init__(self)
            tree = MyTree()
            self.add(tree)
            self.connect('destroy', Gtk.main_quit)
    
    
    if __name__ == '__main__':
        win = MyWindow()
        win.show_all()
        Gtk.main()
    
    0 回复  |  直到 5 年前
        1
  •  0
  •   buhtz    5 年前

    只是个“虫子”。我用过 Gdk.RGBA() 走错了路。它的参数仅在 0.0 1.0 .

    color = Gdk.RGBA(.2, .9, .15, 1)