I would like to get input from an interactive dialog that uses Manipulate[]. But I find that my Manipulate[] breaks when I put it inside a DialogInput[]. So, when I try DialogInput[Manipulate[Plot[Sin[e x], {x, 0, 2 \[Pi]}], {e, 1, 10}]] the plot inside the dialog is not connected to the Manipulate[] slider. What am I missing here?


1 Answer 1


Try using global variables. Return the value with DialogReturn.

res = DialogInput[{
         TextCell["Set value of e. Then click Proceed."],
         Manipulate[Plot[Sin[e x], {x, 0, 2 \[Pi]}], {e, 1, 10, 
              Appearance -> "Open" }, 
         LocalizeVariables -> False], 
         Button["Proceed", DialogReturn[e]]


  • 1
    $\begingroup$ Nice. This may be the first practical use I've seen of LocalizeVariables -> False. $\endgroup$
    – Mr.Wizard
    Feb 21, 2012 at 23:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.