TreeEditor 支持多选吗?
Does TreeEditor support multiple selection?
我正在使用 TreeEditor
来表示我的 traitsui 应用程序中的模型对象。我希望通过按住 Shift
或 Ctrl
并执行 selections 在树编辑器中 select 多个对象。我的最终目标是为用户提供一种一次性删除多个对象的快捷方式,而不是单独右键单击每个项目。
通过阅读 tree editor 的源代码,我注意到,
selection_mode = Enum('single', 'extended')
这似乎定义了一个 extended
select 离子模式。但是我找不到任何使用的示例代码,也没有在 TreeEditor
.
的文档中提及
traitsui支持吗?
FWIW,这是从工作应用程序中截取并经过清理的一些相关代码。我没有尝试 运行 它,所以可能会有一些 copy/paste/sanitize 错别字。
def default_traits_view(self):
return View(
UItem(
'my_run_tree',
editor=TreeEditor(
nodes=[
TestRunTreeNode(
node_for=[Node0],
children='children',
label='label',
),
TestRunTreeNode(
node_for=[Node1],
children='',
label='mylabel',
),
],
editable=False,
selected='selected_nodes',
selection_mode='extended',
)
),
resizable=True,
)
下面是一个演示多选的例子。正如乔纳森所说,
- 设置
selection_mode='extended'
- 将
selected
属性设置为 List(Any)
https://gist.github.com/danieljfarrell/24f838085172de9d20a4d3daa9f813b3
我正在使用 TreeEditor
来表示我的 traitsui 应用程序中的模型对象。我希望通过按住 Shift
或 Ctrl
并执行 selections 在树编辑器中 select 多个对象。我的最终目标是为用户提供一种一次性删除多个对象的快捷方式,而不是单独右键单击每个项目。
通过阅读 tree editor 的源代码,我注意到,
selection_mode = Enum('single', 'extended')
这似乎定义了一个 extended
select 离子模式。但是我找不到任何使用的示例代码,也没有在 TreeEditor
.
traitsui支持吗?
FWIW,这是从工作应用程序中截取并经过清理的一些相关代码。我没有尝试 运行 它,所以可能会有一些 copy/paste/sanitize 错别字。
def default_traits_view(self):
return View(
UItem(
'my_run_tree',
editor=TreeEditor(
nodes=[
TestRunTreeNode(
node_for=[Node0],
children='children',
label='label',
),
TestRunTreeNode(
node_for=[Node1],
children='',
label='mylabel',
),
],
editable=False,
selected='selected_nodes',
selection_mode='extended',
)
),
resizable=True,
)
下面是一个演示多选的例子。正如乔纳森所说,
- 设置
selection_mode='extended'
- 将
selected
属性设置为List(Any)
https://gist.github.com/danieljfarrell/24f838085172de9d20a4d3daa9f813b3