MATLAB: Matlab GUI – Counter update through Pushbutton

matlab guipushbutton

Hey MatLabers,
I am creating a GUI via the GUI editor in Matlab. However, trying to test how the pushbutton works, I was unable to make it increment a counter every time it is pressed and output the result on a static text.
Here is the part of the code in question, I thought it would be as simple as:
function Simulate_Callback(hObject, eventdata, handles)
Counter =0;
Counter = Counter +1;
set(handles.Counter ,'String',Counter);
the Counter object is just a static text.
Any idea guys?! Any help is greatly appreciated!
Thanks a lot!

Best Answer

Your counter will always be 1, obviously. You need to get the value, not set it to zero.
% Read current text and convert it to a number.
currentCounterValue = str2double(get(handles.Counter, 'String'));
% Create a new string with the number being 1 more than the current number.
newString = sprintf('%d', int32(currentCounterValue +1));
% Send the new string to the text control.
set(handles.Counter, 'String', newString );