Increment a variable every time a push button is pressed:

6 ビュー (過去 30 日間)
Mohammad Ayoub
Mohammad Ayoub 2017 年 12 月 2 日
編集済み: Jan 2017 年 12 月 2 日
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 Center および File ExchangeInteractive Control and Callbacks についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by