0

我已经为此搜索了整个互联网,但没有发现任何帮助。我开始认为这是不可能的,但肯定有人有这种要求。

我的应用程序:

  • 我使用 TreeStore 列出父母(文件夹)和孩子(文件);
  • 最小化列列表,我将有名称、路径(隐藏列)、大小(仅与子项相关 - 因为它是 str() 类型,所以对父项很容易屏蔽)、进度条(我希望它显示 - 仅在 TreeView 中显示孩子,而不是父母)。

为什么我需要这个功能:

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

我研究了所有可用的选项/功能,但找不到仅针对特定行中的特定单元格执行此操作的选项/功能。

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

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

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

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

我已经想过如何通过绕过这种不可能来实现这一点,但我找不到答案。我没主意了。

4

1 回答 1

1

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

progress_bar_tree_view_column.add_attribute(progress_bar_renderer, 'visible',
    NUMBER_OF_MY_HIDDEN_COLUMN)
于 2016-02-09T07:11:55.217 回答