hObject error in execution of a checkbox
1 view (last 30 days)
Show older comments
I have been trying to execute the below mentioned code and encounter the below mentioned error
function checkbox()
handles.cbh = zeros(40,1);
handles.label = 1:40;
for k = 1:40
handles.cbh(k) = uicontrol('Style','checkbox','String',handles.label(k), ...
'Value',0,'Position',[30 20*k 130 20], ...
'Parent', hObject, ...
'Callback',{@checkBoxCallback,k});
end
guidata(hObject,handles);
function checkBoxCallback(hObject,~,checkBoxId)
handles = guidata(handles);
value = get(hObject,'Value');
if value
switch checkBoxId
case 1
fprintf('handle cb 1\n');
case 2
fprintf('handle cb 2\n');
otherwise
fprintf('do nothing\n');
end
end
end
end
the error is
Undefined function or variable 'hObject'.
Error in checkbox (line 5)
handles.cbh(k) = uicontrol('Style','checkbox','String',handles.label(k), ...
0 Comments
Accepted Answer
Dennis
on 12 Apr 2019
Your checkbox function does not know 'hObject':
function checkbox()
handles.fig=figure;
handles.cbh = zeros(40,1);
handles.label = 1:40;
for k = 1:40
handles.cbh(k) = uicontrol('Style','checkbox','String',handles.label(k), ...
'Value',0,'Position',[30 20*k 130 20], ...
'Parent', handles.fig, ...
'Callback',{@checkBoxCallback,k});
end
guidata(handles.fig,handles);
function checkBoxCallback(hObject,~,checkBoxId)
handles = guidata(hObject);
value = get(hObject,'Value');
if value
switch checkBoxId
case 1
fprintf('handle cb 1\n');
case 2
fprintf('handle cb 2\n');
otherwise
fprintf('do nothing\n');
end
end
end
end
More Answers (0)
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!