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

时间:2016-01-28 09:23:13

标签: python gtk cell gtk3 cellrenderer

我已经搜索了整个互联网,但没有找到任何帮助。我开始认为这是不可能的,但有人必须要求这种类型。

我的应用:

  • 我使用TreeStore列出父项(文件夹)和子项(文件);
  • 最小化列列表,我将有名称,路径(隐藏列), 大小(仅适用于孩子 - 因为父母很容易被掩盖 类型str()),进度条(我希望它显示 - 显示在 TreeView仅适用于孩子,而非父母)。

为什么我需要此功能:

  • 我想做一个应用程序,它将为我定义的TreeStore中的每个文件显示进度条;
  • 作为TreeStore,文件将具有父(文件夹);
  • 我不想显示文件夹的进度条,因为它会 从我的角度看是没用的,看起来很糟糕。

我已经研究了所有可用的选项/功能,但找不到只针对特定行的特定单元格的选项/功能。

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

  

Gtk.CellRenderer.set_visible(CellRendererProgress,False) - 但这会使整个cellrenderer不可见;

     

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

     

将“无”设置为“进度”列的值仍会显示空的进度条,其他任何内容都会引发错误。

我已经想过如何通过绕过这种不可能性来实现这一目标,但我找不到答案。我没有想法。

1 个答案:

答案 0 :(得分:0)

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

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