Getting ginput to read axes on an appdesigner GUI

15 次查看(过去 30 天)
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.

采纳的回答

Benjamin Thompson
编辑:Adam Danz 2022-8-7
  2 个评论
Randall Poe
Randall Poe 2022-7-1
编辑:Randall Poe 2022-7-1
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 2024-1-19
How could this work? The whole point is to keep ginput focused on a the APP and this references a MATLAB figure window.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Visual Exploration 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by