Increment a variable every time a push button is pressed:

13 次查看(过去 30 天)
Greetings.
If I want to create a simple GUI which contains only one push button, and each time I press this push button I want a variable x to be increased by 1, how can I do that in MATLAB? I have worked with simple GUIs but I am not that professional. (Please note that I want the variable x to increase, not a display in the interface itself.)
Thanks in advance.
Regards.
  4 个评论
Rik
Rik 2017-12-2
In the callback you can load and save data with guidata, so make x a field in that struct and you can easily do this.
Walter Roberson
Walter Roberson 2017-12-2
In MATLAB, a GUI is technically a MATLAB figure() . Could you confirm that you want to associate the value x with a figure "somehow" ?

请先登录,再进行评论。

回答(2 个)

Walter Roberson
Walter Roberson 2017-12-2

Jan
Jan 2017-12-2
编辑:Jan 2017-12-2
This is such easy, that GUIDE is not needed.
function FigH = CreateTheGUI
FigH = figure;
handles.X = 0;
handles.button = uicontrol('Style', 'PushButton', 'String', 'Increase X', ...
'Units', 'normalized', 'Position', [0.1, 0.1, 0.8, 0.1], ...
'FontSize', 20, 'Callback', @buttonCB);
guidata(FigH, handles);
end
function buttonCB(ButtonH, EventData)
handles = guidata(ButtonH);
handles.X = handles.X + 1;
guidata(ButtonH, handles);
end
Now call this e.g. from the command line:
FigH = CreateTheGUI;
Press the button how often you want and obtain the current value:
handles = guidata(FigH);
disp(handles.X)

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by