Getting ginput to read axes on an appdesigner GUI

18 views (last 30 days)
I am trying to use ginput() on a GUI that I am building with appdesigner. The problem is that when I call ginput(), it creates a new figure window and then acts on that window, instead of on my GUI.
I've tried preceding it with a call to axes, i.e.
axes(app.ImageAxes);
[x, y] = ginput(1);
But that has the same effect, it still creates a new figure window and then puts the cross hairs on the new window.
What is the proper way to get ginput() to read from the axes in my GUI?
I just upgraded today so I am running in R2022a.

Accepted Answer

Benjamin Thompson
Benjamin Thompson on 1 Jul 2022
Edited: Adam Danz on 7 Aug 2022
  2 Comments
Randall Poe
Randall Poe on 1 Jul 2022
Edited: Randall Poe on 1 Jul 2022
Thank you. I just want to summarize that what appears to be the best answer (I haven't tried it yet) is the one titled "ginput is now supported in AppDesigner starting in r2020b". This was in fact the reason I upgraded from R2020a, after reading on the mathworks site that ginput was supported in later versions. So I was a little frustrated when after the update, it still didn't seem to work.
According to that answer, the key apparently is to set handle visibility. So I'm going to experiment with that.
Update: Yes, that solution worked. Also new to me was using
set(0, 'CurrentFigure', fig);
to set the focus to the desired figure.
Bruce Rodenborn
Bruce Rodenborn on 19 Jan 2024
How could this work? The whole point is to keep ginput focused on a the APP and this references a MATLAB figure window.

Sign in to comment.

More Answers (0)

Categories

Find more on Visual Exploration in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!