故事起因是想用App designer写一个小程序,需要用到复选框树控件。
我一共有三个父节点,分别包含两个,四个,两个子节点,只有两个层级结构。
实现目标是用户选择不同节点,然后汇总之后处理,比如我有不同模型,一个节点对应一个,那么当用户选择完后,我会根据用户选择分别调用不同的模型,进行数据处理,最终对比。
遇到的困难是不熟悉该控件,使用app.Tree.CheckedNodes方法可以在非Tree回调环境里获取用户选择,但是此时的选择包含父节点,在我的设想中,父节点只是作为说明作用,比如模型的类型说明,此时我需要剔除掉这些父节点才能使用switch case结构来进行函数调用,否则就很麻烦。

官方文档-关于CheckedNodesChangedFcn回调
因此查阅官方文档,https://ww2.mathworks.cn/help/matlab/ref/matlab.ui.container.checkboxtree-properties.html,在CheckedNodesChangedFcn回调中似乎可以提取不包含父节点的子节点:event.LeafCheckedNodes方法。
但如图中所示,其方法被描述为:当前选中的不包含子节点的 TreeNode 对象,这种表述显然是有问题的,有可能是翻译情况。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删