hObject error in execution of a checkbox

1 Ansicht (letzte 30 Tage)
Vicky S
Vicky S am 12 Apr. 2019
Kommentiert: Vicky S am 12 Apr. 2019
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), ...

Akzeptierte Antwort

Dennis
Dennis am 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

Weitere Antworten (0)

Produkte


Version

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by