waitforbuttonpress not working after print call

6 visualizzazioni (ultimi 30 giorni)
Hi, weird thing is happening in my code.
for i=1:5
% Some prior codes
print(sprintf('%s/%s', outputdir, filename), '-dpng');
key = waitforbuttonpress;
value = double(get(gcf,'CurrentCharacter'));
end
After drawing some plots on a figure, I save it using print and then confirm the result via wiatforbuttonpress and then move to the next figure. It works as intended only if I remove the print line. Otherwise, it doesn't continue to the next loop. More interesting thing is, if I run the code step by step, there is no problem. It saves the figure and waits for a button press and then continues to the next loop. Did I do something wrong?

Risposta accettata

Chris Perkins
Chris Perkins il 8 Gen 2018
Hi Haebom,
I have replicated this on my end, and observed similar behavior. From what I saw, it appears that mouse clicks are still picked up by "waitforbuttonpress", but key clicks are not when the "print" line is included. It's possible there is an issue with "waitforbuttonpress".
I work at MathWorks, and have forwarded this information to the respective team, so they can look into the issue.
In the meantime, you should be able to use a mouse click instead of a key click as a workaround.
  1 Commento
Haebom
Haebom il 9 Gen 2018
Hi Chris, thank you so much for your quick feedback. The problem is, I want to get a key input and record it for each figure in the loop. I solved this problem by separating it into two phases, one for recording key inputs without 'print', and the other one for only 'print' figures into files. I hope it is fixed in the next version.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 기본 설정 in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!