Python3 Gtk3+:如何隐藏一行的单元格
Python3 Gtk3+: How to hide a cell of a row
我为此在整个互联网上进行了搜索,但没有找到任何有用的信息。我开始觉得这不可能,但肯定有人有这种需求。
我的应用程序:
- 我使用 TreeStore 列出 parents(文件夹)和 childs(文件);
- 最小化列列表,我将有名称,路径(隐藏列),
大小(仅与儿童相关 - parent 很容易被屏蔽,因为它是
str() 类型)、进度条(我希望它显示 - 显示在
TreeView 仅适用于儿童,不适用于 parents)。
为什么我需要这个功能:
- 我想做一个应用程序,它会为我定义的 TreeStore 中的每个文件显示一个进度条;
- 作为 TreeStore,文件将有一个 parent(文件夹);
- 我不想显示文件夹的进度条,因为它会
在我看来毫无用处而且看起来很糟糕。
我研究了所有 options/functions 可用的方法,但找不到仅对特定行中的特定单元格执行此操作的方法。
我发现的唯一接近我需要的功能(但仍然无法使用)是:
Gtk.CellRenderer.set_visible(CellRendererProgress, False) - but this makes the whole cellrenderer invisible;
Gtk.TreeViewColumn.set_visible(False) - makes the whole column invisible;
setting "None" as value for column "Progress" will still display an empty progress bar, anything else will raise an error.
我想过如何绕过这种不可能的情况来实现这一点,但我找不到答案。我没主意了。
你应该在tree store中做一个隐藏列,告诉是否在每一行显示进度条。然后将该列绑定到单元格渲染器的可见性,如下所示:
progress_bar_tree_view_column.add_attribute(progress_bar_renderer, 'visible',
NUMBER_OF_MY_HIDDEN_COLUMN)
我为此在整个互联网上进行了搜索,但没有找到任何有用的信息。我开始觉得这不可能,但肯定有人有这种需求。
我的应用程序:
- 我使用 TreeStore 列出 parents(文件夹)和 childs(文件);
- 最小化列列表,我将有名称,路径(隐藏列), 大小(仅与儿童相关 - parent 很容易被屏蔽,因为它是 str() 类型)、进度条(我希望它显示 - 显示在 TreeView 仅适用于儿童,不适用于 parents)。
为什么我需要这个功能:
- 我想做一个应用程序,它会为我定义的 TreeStore 中的每个文件显示一个进度条;
- 作为 TreeStore,文件将有一个 parent(文件夹);
- 我不想显示文件夹的进度条,因为它会 在我看来毫无用处而且看起来很糟糕。
我研究了所有 options/functions 可用的方法,但找不到仅对特定行中的特定单元格执行此操作的方法。
我发现的唯一接近我需要的功能(但仍然无法使用)是:
Gtk.CellRenderer.set_visible(CellRendererProgress, False) - but this makes the whole cellrenderer invisible;
Gtk.TreeViewColumn.set_visible(False) - makes the whole column invisible;
setting "None" as value for column "Progress" will still display an empty progress bar, anything else will raise an error.
我想过如何绕过这种不可能的情况来实现这一点,但我找不到答案。我没主意了。
你应该在tree store中做一个隐藏列,告诉是否在每一行显示进度条。然后将该列绑定到单元格渲染器的可见性,如下所示:
progress_bar_tree_view_column.add_attribute(progress_bar_renderer, 'visible',
NUMBER_OF_MY_HIDDEN_COLUMN)