如何直接添加元素'Show Animation Control'(不使用Manipulate控制设置)?

时间:2011-09-07 21:54:01

标签: wolfram-mathematica

我无法找到如何执行以下操作。当使用Manipulate时,它会在控件的末尾自动显示一点'+',如下所示

Manipulate[x,
 {{x, 0, "x"}, 0, 1, .1, Appearance -> "Labeled"}
 ]

enter image description here

现在,我想使用Dynamic直接设置控件,并使其看起来像上面这样:(顺便说一句,感谢Simon显示正确的语法来执行此操作here

Manipulate[x,
 {{xChanged, False}, None},

 Grid[{
   {"x ", 
    Slider[Dynamic[x, (x = #; xChanged = True; #) &], {0, 1, .1}], 
    Spacer[2],
    Dynamic@x
    }
   }, Frame -> None, Spacings -> {0.2, 0.1}, Alignment -> Center]
 ]

enter image description here

现在,唯一缺少的是小'+'。我不能在上面使用AppearanceElement选项。所以,接下来我尝试了这个

Manipulate[x,
 {{xChanged, False}, None},

 Grid[{
   {"x ", 
    Animator[Dynamic[x, (x = #; xChanged = True; #) &], {0, 1, .1}, 
     AnimationRunning -> False], Spacer[2],
    Dynamic@x
    }
   }, Frame -> None, Spacings -> {0.2, 0.1}, Alignment -> Center]

 ]

enter image description here

但这太过分了。我只需要在使用Manipulate时标记为'Show animation controls'的'+'。但我找不到与此匹配的元素。

奇怪的是,很难找到这些元素的名称。我转到ref/AppearanceElements,它甚至没有列出名字。当我转到ref/Manipulate时,它在“外观元素”选项{"HideControlsButton", "SnapshotButton", "ResetButton", "UpdateButton"下提到了以下内容,我尝试了所有这些,但它们并不是我想要的。

我去了ref / Manipulator,看到了这些"InputField", "StepLeftButton", "PlayPauseButton", "StepRightButton", "FasterSlowerButtons", "DirectionButton", "InlineInputField".但是没有一个是'Show动画控件'。

有没有人知道如何获得'+'元素?

(奇怪的是,这些元素并非都列在一个地方,在ref / AppearanceElements中)

谢谢,

2 个答案:

答案 0 :(得分:3)

是否有任何理由不能使用Manipulator

Manipulate[x, {{xChanged, False}, None}, {x, None}, 
 Grid[{{"x ", 
    Manipulator[
     Dynamic[x, (x = #; xChanged = True; #) &], {0, 1, .1}], 
    Spacer[2], Dynamic@x}}, Frame -> None, Spacings -> {0.2, 0.1}, 
  Alignment -> Center]]

made using the above

答案 1 :(得分:0)

或控制:

Manipulate[x,  
   Grid[{{"test: ", Control[{x, 0, 1}], Spacer[9], Dynamic[x]}}, 
  Spacings -> {0.2, 0.1}]]

control