ginput turning off cursor R2016a

2 次查看(过去 30 天)
I am writing a GUI with guide and when I call ginput it turns off my mouse cursor. I know this is an old issue that was apparently resolved but I am still experiencing the problem in MATLAB 2016a.
I am calling ginput after a ButtonDownFcn as follows:
% load an image into the axis and set buttondownfnc
function load_image_Callback(hOBject, eventdata, handles)
...
set(handles.img, 'ButtonDownFcn', {@my_button_press, handles})
...
end
%call ginput upon buttdown
function my_button_press(src, ~, handles)
[x,y] = ginput(1);
...
end
When I click the image my cursor disappears, if I click again I get the x,y corrdinates of the point I click, so ginput is working, but I can't see where I'm clicking. Any ideas?
  2 个评论
Tom Dresselaers
Tom Dresselaers 2017-9-21
编辑:Tom Dresselaers 2017-9-21
I tried it in R2016a but did not work. Other options?
my workaround create your own myginput with modification (store in your working dir): set(gcf,'Pointer','crosshair','PointerShapeCData',cdata,'PointerShapeHotSpot',hotspot) % original version: set(gcf,'Pointer','custom','PointerShapeCData',cdata,'PointerShapeHotSpot',hotspot)

请先登录,再进行评论。

回答(1 个)

Sam McDonald
Sam McDonald 2017-3-8
The cursor does disappear, but you should be able to see the crosshairs that appear once you move the mouse. If those are not being displayed, you could try the following
1. Execute:
opengl software
That will switch to a software version of OpenGL. If that resolves the issue, make sure your graphics driver is up-to-date. Visit the manufacturer's website for the latest driver rather than trusting the operating system.
2. Change the figure renderer. 'opengl' is default, but there is also 'painters'.
  1 个评论
Michael Vaiana
Michael Vaiana 2017-4-9
I'm so sorry for the extremely late reply. I tried suggestions 1 3 does give me the cursor but it is not very fluid. For example, sometimes I click and nothing seems to happen and then I click again and all of the sudden I have 2 points.
1, unfortunately, didn't help at all. I'm working on 2 but I can't seem to figure out how to get the figure handle for the axes to change the renderer to painters.
I also made a discovery. I am calling ginput after a ButtonDwnFnc call so I can restrict it to a certain axes. When I use ginput without such a ButtonDwnFnc the crosshairs show up. The problem is they show up on the whole image and not the specified axis. So it seems to be a problem with calling ginput from a ButtonDwnFnc call.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Migrate GUIDE Apps 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by