我们正在尝试评估这个想法的可行性:
我们在建模程序中有一个非常深的 HasTraits 对象堆栈。例如,如果我们对两种材料进行建模,我们可以通过以下方式访问这些材料的各种属性:
Layer.Material1.Shell.index_of_refraction
Layer.Material5.Medium.index_of_refraction
我们已将此代码用于模拟,其中我们仅增加特征的值。例如,我们可以运行一个模拟,其中一种材料的 index_of_refraction 在 10 次迭代中从 1.3 变化到 1.6。它实际上工作得很好。
问题在于为模拟选择所需的特征。用户不会知道所有这些特征变量名称,因此我们想呈现程序整个特征结构的层次结构/树视图。对于上述两个特征,它可能看起来像:
Layer
- Material1
- Shell
- index_of_refraction
- Material2
- Medium
- index_of_refraction
ETC...
我知道 traitsui 支持 TreeEditor,但是有没有像这样基于检查 HasTraits 堆栈构建 TreeEditor 的示例?从对象中获取特征堆栈的最直接方法是什么?本质上,这个想法可行还是我应该回到绘图板上?
谢谢