Python3 Gtk3+;:如何隐藏行的单元格

Python3 Gtk3+;:如何隐藏行的单元格,python,gtk,cell,gtk3,cellrenderer,Python,Gtk,Cell,Gtk3,Cellrenderer,我在整个互联网上搜索过这个,但没有找到任何有用的东西。我开始认为这是不可能的,但一定有人有这样的要求 我的应用程序: 我使用树状目录列出父母(文件夹)和孩子(文件) 最小化列列表,我将有名称、路径(隐藏列), 尺寸(仅与儿童相关-父母容易掩盖,因为它是 类型为str()),进度条(我希望它显示-显示在 TreeView仅适用于儿童,不适用于父母) 我需要此功能的原因: 我想做一个应用程序,将显示一个进度条为每个文件从树存储我已经定义 作为TreeStore,文件将有一个父级(文件夹) 我不

我在整个互联网上搜索过这个,但没有找到任何有用的东西。我开始认为这是不可能的,但一定有人有这样的要求

我的应用程序:

  • 我使用树状目录列出父母(文件夹)和孩子(文件)
  • 最小化列列表,我将有名称、路径(隐藏列), 尺寸(仅与儿童相关-父母容易掩盖,因为它是 类型为str()),进度条(我希望它显示-显示在 TreeView仅适用于儿童,不适用于父母)
我需要此功能的原因:

  • 我想做一个应用程序,将显示一个进度条为每个文件从树存储我已经定义
  • 作为TreeStore,文件将有一个父级(文件夹)
  • 我不想显示文件夹的进度条,因为它会 在我看来,这是无用的,会看起来很糟糕
我已经研究了所有可用的选项/函数,但找不到一个只对特定行中的特定单元格执行此操作的选项/函数

我发现的唯一接近我需要的功能(但仍然无法使用)是:

set_visible(CellRenderProgress,False)-但这会使整个CellRenderer不可见

Gtk.TreeViewColumn.set_visible(False)-使整个列不可见

将“None”设置为列“Progress”的值仍将显示一个空进度条,否则将引发错误


我曾想过如何通过绕过这一不可能实现这一目标,但我找不到答案。我没主意了。

你应该在树存储中创建一个隐藏列,告诉我是否在每行显示进度条。然后将该列绑定到单元渲染器的可见性,如下所示:

progress_bar_tree_view_column.add_attribute(progress_bar_renderer, 'visible',
    NUMBER_OF_MY_HIDDEN_COLUMN)

非常感谢。在我搜索的每一个地方,我都只发现Gtk.CellRenderProgress应该使用以下道具:反转、脉冲、文本、文本xalign、文本yalign和值。我甚至没有尝试“visibility”属性,因为我尝试了另一个渲染未在“”上列出的属性,但它引发了一个无法找到该属性的错误。现在我知道这个属性(“visible”)是从“Gtk.CellRenderer”继承的,应该适用于所有渲染器(文本、组合等)。