如何使用自定义CellRenderEx创建Gtk Iconview

2024-09-27 23:27:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究如何用Python(2.7或更高版本)创建一个GtkIconView,它为IconView的文本元素提供一个自定义的cellrenderext。在

这样做的原因是,我需要在创建iconview期间重写某些属性。在

环顾四周,我发现这个用于TreeViews的PyGtk示例-类似,但我需要一个IconView的自省示例

<>我看过C++文档,但我不太明白如何将CyrReNeReDrices文本分配给ICON视图。在

我又找到了一些python文档,可以为treeview创建一个定制的cellrenderer

有人能告诉我如何修改IconView的例子吗


Tags: 文档文本版本http元素示例属性原因
2条回答

官方的方法是使用set_cell_data_func。在

但是,在IconView的上下文中,这与TreeView的情况不同(只需将自定义呈现函数传递给TreeViewColumn实例)。在

这也让我感到困惑,直到我在gtk3ruby绑定中发现了this nugget,其中Kouhei Sutou演示了如何使用GtkCellLayout接口在IconView中设置单元渲染器。在

注意:如果您以前使用设置器(如iconView.text_column = TEXT_IDX)设置列,则应在自定义呈现器就位后将其删除,否则将看到重复的文本标签。在

Gtk.IconView继承自Gtk.CellLayout,因此可以使用单元格布局函数替换当前文本呈现器。有点像:

renderers = iconview.get_cells()
iconview.clear()
for r in renderers:
    if not isinstance(r, Gtk.TextRenderer):
        iconview.pack_start(r)
    else:
        iconview.pack_start(my_custom_renderer)

我不知道这是否有效,但我会这么做的。在

相关问题 更多 >

    热门问题