get value from uicontrol editbox
26 次查看(过去 30 天)
显示 更早的评论
Hi,
I have setup a uicontrol edit box into my code and expected to receive certain value from user. However, what kind of syntax can I use to get the value from the edit box to be used in other function?
0 个评论
采纳的回答
Kevin Phung
2019-3-14
编辑:Kevin Phung
2019-3-14
You either set a callback function for that edit box, that will be triggered whenever the user hits the enter key,
edit = uicontrol('style','edit','Callback',@user_edit)
function user_edit(hObj,event) %these parameters are by default.
% hObj is the handle to your button.
disp(hObj.String) %this will display the current string
end
or, if you want to retrieve the string from beyond the callback function, assign a tag to your edit box so that you can point back to it:
set(edit,'Tag','edit1')
%or
edit.Tag = 'edit1';
function someotherfunction()
my_edit = findobj(gcf,'Tag',edit1);
disp(my_edit.String)
end
4 个评论
Kevin Phung
2019-3-14
'Is it possible for me to get the value of the input from the edit box and use it in other function using the code above?'
yes, i mentioned that in my answer.
You can also store data in the 'UserData' property of your graphic objects.
so:
function [ newValue, validNumber, inBounds ] = newValueFromString( ...
N, textString)
textString = get(edit_speed,'String');
[ inputNumber, validNumber ] = str2num( textString );
edit_speed.UserData = textString
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!