如何在Matlab上获得按键时uicomponent滑块的值



按键时,如何在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"handles"或class"handles.slide.value"。如何解决?

您可以将回调连接到所需事件,并从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);

最新更新