按下某个键时,如何在Matlab上获取uicomponent滑块的值? 我在GUI代码中使用它:
% --- Executes just before teste is made visible.
function teste_OpeningFcn(hObject, eventdata, handles, varargin)
% Choose default command line output for teste
handles.output = hObject;
handles.slid=uicomponent('style','slider',0,9,5,'position',[10 30 200 50]);
set(handles.slid, 'KeyPressedCallback','handles.slid.value');
% Update handles structure
guidata(hObject, handles)
滑块正常工作,但是当我按下一个键时,会返回错误“Undefined variable”handle“或class”handles.slid.value“。 怎么解决?
答案 0 :(得分:1)
您可以将回调连接到所需的事件,并从 src 参数中获取值
handles.slid=uicomponent('style','slider',0,9,5,'position',[10 30 200 50]);
set(handles.slid, 'KeyPressedCallback','sliderCallback');
function sliderCallback(src,evt)
display(['slider state ' num2str(get(src, 'Value'))]);
end
如果无法全局访问sliderCallback函数,则可以通过函数指针设置它:
set(handles.slid, 'KeyPressedCallback',@sliderCallback);