Callback to edit box to update variable
13 ビュー (過去 30 日間)
古いコメントを表示
I have begun my program by defining a variable Ground, where Ground=40. I have a ui text field corresponding to this variable, and when a user edits the text field by typing a number, I want my callback function to update the value of the Ground variable in my workspace. How can this be done? Below is what I have written, which does not work.
Ground=40;
ground_control=uicontrol('Style','edit', 'String', num2str(Ground), 'Position', [315, 70, 70, 20], 'Callback', {@change_ground});
function [Ground] =change_ground(hObject, eventdata, handles)
Ground=str2double(hObject);
end
0 件のコメント
回答 (1 件)
Voss
2022 年 2 月 22 日
It's not typically necessary (or a good idea) to have data in a UI mirrored in the base workspace, but here's how you can do it (for educational purposes).
Ground=40;
ground_control=uicontrol('Style','edit', 'String', num2str(Ground), 'Position', [315, 70, 70, 20], 'Callback', {@change_ground});
function change_ground(hObject, eventdata, handles)
Ground = str2double(get(hObject,'String'));
assignin('base','Ground',Ground);
end
Typically your uicontrol would be part of a larger GUI that would be handling all the data, so that's why you wouldn't need to do this.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Environment and Settings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!