Questions About MENU Function

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

답변 (2개)

Walter Roberson
Walter Roberson 2013년 5월 1일

0 개 추천

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 2013년 5월 2일

0 개 추천

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

카테고리

도움말 센터File Exchange에서 Environment and Settings에 대해 자세히 알아보기

태그

질문:

2013년 5월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by