Azzera filtri
Azzera filtri

waitforbuttonpress not working after print call

2 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)

Prodotti

Community Treasure Hunt

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

Start Hunting!