MATLAB Answers

The inputdlg stays open

15 ビュー (過去 30 日間)
Ole 2017 年 8 月 6 日
Answered: Image Analyst 2017 年 8 月 7 日
I would like to to have an input window and have the ability to change the input data. The code below uses inputdlg.
The problem is that the graph is not accessible. Is there a way to have access to the graph and to change the input values easily.
while (true)
% block of code here
prompt = {'X from','X to','Y from','Y to'};
promptname = 'test';
numlines = 50;
defaultanswer = {'1', '5', '2', '10'};
answer = inputdlg(prompt, promptname,[1 numlines],defaultanswer, options);
xx = [str2num(char(answer(1))), str2num(char(answer(2)))];
xy = [str2num(char(answer(3))), str2num(char(answer(4)))];
pause(0.1) ; % allow for ctrl-c
I can request a key to be pressed (code from another answer). But is there a way to have both accessible without writing a gui.
% do not move on until enter key is pressed
while currkey~=1
pause; % wait for a keypress
if strcmp(currkey, 'return') % You also want to use strcmp here.
currkey=1 % Error was here; the "==" should be "="
currkey=0 % Error was here; the "==" should be "="

  2 件のコメント

Walter Roberson
Walter Roberson 2017 年 8 月 6 日
Could you expand on what you mean by "the graph is not accessible" ?
Ole 2017 年 8 月 7 日
The window of the graph can not be manipulated (can not be saved the menus are not active because the focus is on the input window). The graph can not be dragged with the mouse also.

サインイン to comment.

件の回答 (1)

Image Analyst
Image Analyst 2017 年 8 月 7 日
inputdlg() is a model dialog box and you have it in a permanent loop where is keeps calling inputdlg forever so it never goes away or lets you interact with anything else. Learn how to create a regular GUI with edit fields. See Then have a button where you push it to plot data and the callback for that button will get the numbers from the edit fields. It's trivial.

  0 件のコメント

サインイン to comment.

サインイン してこの質問に回答します。

Translated by