Mathematica的控件:[7]ListPicker
操作方法
- 01
唯一在 Mathematica 版本 9 之中新加入的一个控件就是 ListPicker , 它稍稍有提高了 Manipulate 的交互性, 优点在于按住 Shift 键不放, 可以为为动态变量添加某个范围的值, 又或按 Ctrl 添加/删除某个值. 请注意, 有一点和 CheckboxBar 和 TogglerBar 是类似的, 如果没有选取任何值的话, 那么动态变量就是一个 { }. 这点在编程之中要处理到, 尽可能写出健壮的代码. 另外还有 ListPicker 应用起来更为灵活. 来看看适用的语法:
- 02
{var,{True,False}} 动态变量的值可以在 {}, True , False 或 {True, False} 选择.
- 03
{var,list} 动态变量可以在 list 的幂集中选择.
- 04
直接先看一个例子: 默认情况 ListPicker 将变量的取值水平排列, 所以设置 ControlPlacement->Right 看起来会舒服一些. 观察上例出现的一个布局问题, ListPicker 的水平方向似乎过宽, 想要缩短到合适的距离, 调整它本身的选项是不会有任何作用滴! 考虑将下面的 Manipulator 中的选项设定为 ImageSize -> Tiny , 就可以得到一个较为满意的答案. 这里顺便提一下, 就关于控件区域的美化, 以后也会专门开上一个系列去讨论这方面的问题. 下面我们来看看, 如何修正选取一种颜色时候抛错的问题, 加入 If[Length[colors]<2,AppendTo[colors,Red],colors] 这条语句即可. 但是请考虑还会不会出现问题呢? 对的, 如果动态变量为空集的, 仍然会出现问题! 换句话说, 我们修补了一个缺陷的同时, 又引入了另一个缺陷. 为此, 下面例子中, 我们还要修改一点. 好, 这就是 Mathematica 9 中的 ListPicker 控件,用于从列表选择若干个值. 下次经验, 再见! 我的朋友们.