如何给TreeView中的每一项加上可复选框的CheckBox?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何给TreeView中的每一项加上可复选框的CheckBox?相关的知识,希望对你有一定的参考价值。

希望能具体说个方法给高分
TreeView控件有CheckBoxes的属性吗?我找了半天没有大哥,我treeView的值都是从数据库读出来的

TreeView控件的CheckBoxes属性啊设置成True就是这个样子 参考技术A 你肯定是用递归法生成树结构的吧,只要在创建子节点的方法里面加上下面这句就可以了。
childNode.ShowCheckBox = true;

分隔数组中的每一项

【中文标题】分隔数组中的每一项【英文标题】:Seperate each item in an array 【发布时间】:2021-01-03 12:12:06 【问题描述】:

我有两个数组的列表,这是一个循环的结果,我正在尝试执行以下操作:

从这里:

import numpy as np
data=[np.array(['one','two','three']),np.array(['four','five','six'])]
data

给了

[array(['one', 'two', 'three'], dtype='<U5'),
 array(['four', 'five', 'six'], dtype='<U4')]

到这个预期的结果:

[array([['one'],
        ['two'],
        ['three']], dtype='<U5'),
 array([['four'],
        ['five'],
        ['six']], dtype='<U4')]

我尝试过 np.split 但没有达到预期效果。

【问题讨论】:

你的意思是转置?喜欢[a.T for a in data] 不,这不会将每个单词放在单独的列表中。查看预期结果。 是的,我的错,转置并没有像我认为的一维数组那样, 这能回答你的问题吗? How can I add new dimensions to a Numpy array? 您从一个数组列表开始,每个数组都有一个 (3,) 形状。显然,您希望每个都具有 (3,1) 形状。为什么?这样做有什么好处?只是一个更漂亮的显示,还是需要进一步处理? 【参考方案1】:

我认为您需要 np.expand_dims 来处理 data 列表中的每个元素,如下所示:

import numpy as np
data=[np.array(['one','two','three']),np.array(['four','five','six'])]
data = [np.expand_dims(ele, axis=1) for ele in data]

【讨论】:

【参考方案2】:

在 cmets 中,@Tadhg 建议对每个元素进行转置。乍一看,这似乎是正确的。但是,一维向量的转置,例如:

array(['one', 'two', 'three'])

很简单:

array(['one',
       'two',
       'three'])

请注意,矢量并没有真正改变,它仍然具有相同的形状(3,)。要获得所需的结果,您需要在转置之前引入另一个维度,例如像这样:array([['one', 'two', 'three']])。具有(1, 3) 形状的数组的转置将具有(3, 1) 的形状,这正是您想要的。剩下的就是将其应用于数据矩阵中的每个条目:

[np.array([a]).T for a in data]

【讨论】:

【参考方案3】:

试试

[np.array_split(a,len(a)) for a in data]

Numpy 有一个名为 array_split() 的默认函数,用于将列表拆分为您想要的列表数量。

【讨论】:

@PranavHosangadi 你是绝对正确的。添加说明。

以上是关于如何给TreeView中的每一项加上可复选框的CheckBox?的主要内容,如果未能解决你的问题,请参考以下文章

WPF中treeview模版问题

分隔数组中的每一项

map

数组的5个迭代方法

javascript 数组迭代与归并

在Pandas中,我如何将一个函数应用到数据框的某一行,其中行中的每一项都应该作为参数传递给函数?