Increment a variable every time a push button is pressed:

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 件のコメント

Walter Roberson
Walter Roberson 2017 年 12 月 2 日
Where does the variable x "live" ? Which workspace is it in?
Mohammad Ayoub
Mohammad Ayoub 2017 年 12 月 2 日
I wanna define it in the GUI itself, x = 0 in the GUI opening function
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 件)

Jan
Jan 2017 年 12 月 2 日
編集済み: Jan 2017 年 12 月 2 日

0 投票

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)

カテゴリ

ヘルプ センター および File ExchangeInteractive Control and Callbacks についてさらに検索

質問済み:

2017 年 12 月 2 日

編集済み:

Jan
2017 年 12 月 2 日

Community Treasure Hunt

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

Start Hunting!

Translated by