Filter löschen
Filter löschen

Questions About MENU Function

2 Ansichten (letzte 30 Tage)
Kent
Kent am 1 Mai 2013
Hi there,
I am trying to create a menu and ask a question, wait for user's input and then use the input for further calculations.
I have 3 questions and each question only requires user to answer 'YES' or 'NO'. Using MATLAB's MENU function, I am able to do what I want. However, I would like to know if these 3 questions can be shown in one single window and ask for user's response instead of opening a new window after each question is answered.
Thanks, Kent

Antworten (2)

Walter Roberson
Walter Roberson am 1 Mai 2013
Not using "menu". Yes using inputdlg(): see the example at http://www.mathworks.com/help/matlab/ref/inputdlg.html
Note: inputdlg() is a graphics function only, whereas menu() will use graphics if available but will use character text if graphics is not available.

Sean de Wolski
Sean de Wolski am 2 Mai 2013
How about using a GUI with six radio buttons?
function choices = simpleRadioGUI
hFig = figure('WindowStyle','modal');
hBG = zeros(3,1);
for ii = 1:3
hBG(ii) = uibuttongroup;
uicontrol('Style','radio',...
'Units','normalized',...
'Position',[0.1 0.1*ii+0.1 0.3 0.1],...
'String','Yes!',...
'Callback',[],...
'Parent',hBG(ii),...
'Value',true);
uicontrol('Style','radio',...
'Units','normalized',...
'Position',[0.6 0.1*ii+0.1 0.3 0.1],...
'String','No',...
'Callback',[],...
'Parent',hBG(ii),...
'Value',false);
end
uicontrol('Style','pushbutton',...
'Units','normalized',...
'Position',[0.3 0.05 0.4 0.05],...
'String','Done',...
'Callback',@(~,~)closeIt);
choices = cell(3,1);
uiwait(hFig);
function closeIt
fields = {'No','Yes'};
for kk = 3:-1:1
hC = get(hBG(kk),'Children');
choices{kk} = fields(get(hC(2),'Value')+1);
end
close(hFig)
end
end

Kategorien

Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by