【问题标题】:Gtk.TreeView fails to add a custom renderer with assertion 'gtk_cell_area_has_renderer (area, renderer)' failedGtk.TreeView 无法添加带有断言 'gtk_cell_area_has_renderer (area, renderer)' 的自定义渲染器失败
【发布时间】:2015-03-23 15:53:05
【问题描述】:

我正在尝试通过调用set_attributes 将动态自定义 CellRenderer 添加到我的Gtk.Treeview

    private void add_column (TrackColumns type) {
        var column = new Gtk.TreeViewColumn () ;
        column.title = type.get_title () ;
        var renderer = type.get_cell_renderer () ;
        column.set_attributes (renderer, "text", type) ;

        view.insert_column (column, -1);
    } 

不幸的是,它失败并出现错误

assertion 'gtk_cell_area_has_renderer (area, renderer)' failed

【问题讨论】:

    标签: treeview gtk gtktreeview


    【解决方案1】:

    您必须在分配渲染器之前调用Gtk.TreeViewColumn.pack_start

    这是工作代码:

        private void add_column (TrackColumns type) {
            var column = new Gtk.TreeViewColumn () ;
            column.title = type.get_title () ;
            var renderer = type.get_cell_renderer () ;
            column.pack_start (renderer, true);
            column.set_attributes (renderer, "text", type) ;
    
            view.insert_column (column, -1);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-14
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-20
      相关资源
      最近更新 更多