我无法找到如何执行以下操作。当使用Manipulate时,它会在控件的末尾自动显示一点'+',如下所示
Manipulate[x,
{{x, 0, "x"}, 0, 1, .1, Appearance -> "Labeled"}
]
现在,我想使用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]
]
现在,唯一缺少的是小'+'。我不能在上面使用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]
]
但这太过分了。我只需要在使用Manipulate时标记为'Show animation controls'的'+'。但我找不到与此匹配的元素。
奇怪的是,很难找到这些元素的名称。我转到ref/AppearanceElements
,它甚至没有列出名字。当我转到ref/Manipulate
时,它在“外观元素”选项{"HideControlsButton", "SnapshotButton", "ResetButton", "UpdateButton"
下提到了以下内容,我尝试了所有这些,但它们并不是我想要的。
我去了ref / Manipulator,看到了这些"InputField", "StepLeftButton", "PlayPauseButton", "StepRightButton", "FasterSlowerButtons", "DirectionButton", "InlineInputField".
但是没有一个是'Show动画控件'。
有没有人知道如何获得'+'元素?
(奇怪的是,这些元素并非都列在一个地方,在ref / AppearanceElements中)
谢谢,
答案 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]]
答案 1 :(得分:0)
或控制:
Manipulate[x,
Grid[{{"test: ", Control[{x, 0, 1}], Spacer[9], Dynamic[x]}},
Spacings -> {0.2, 0.1}]]