problem with questdlg!!

3 Ansichten (letzte 30 Tage)
Khaled Al-Faleh
Khaled Al-Faleh am 17 Apr. 2017
Beantwortet: TED MOSBY am 20 Aug. 2025 um 10:18
I want the code run infinite but Here work for two times then he gave me an error the error is ...
Operation terminated by user during movegui (line 157)
In questdlg (line 393)
movegui(QuestFig)
In Project_Test (line 25)
button = questdlg(promptMessage, titleBarCaption, 'Draw', 'Cancel', 'Draw');
here the code ..
I = imread('--'); %any image
imshow(I);
count=1;
while(1)
promptMessage = sprintf('Select area!');
titleBarCaption = 'Continue?!';
button = questdlg(promptMessage, titleBarCaption, 'Draw', 'Cancel', 'Draw');
if strcmpi(button, 'Cancel')
count=count-1;
break;
end
S1 = imrect;
count=count+1;
end

Antworten (1)

TED MOSBY
TED MOSBY am 20 Aug. 2025 um 10:18
Hi,
You’re mixing two interactive things at the same time:
  • a modal dialog (questdlg) and
  • an interactive ROI tool (imrect).
The fix:
  1. Call questdlg.
  2. Handle “Cancel” or window close. If the user hits Cancel or closes the dialog, stop.
  3. After you start imrect, wait for the user to finish. Please note imrect is not recommended now, use drawrectangle. https://in.mathworks.com/help/images/ref/imrect.html
Hope it helps!

Kategorien

Mehr zu Dialog Boxes 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