How to assign a user input to a variable in matlab when using uicontrol 'string'?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
oshawcole
am 13 Sep. 2017
Kommentiert: Stephen23
am 13 Sep. 2017
uicontrol('Parent',d,...
'Style','edit',...
'Position',[20 330 210 60],...
'String','-4')
The -4 is just an example value, and can be changed by the user. I want to store this string value in a variable. Please help.
Thank you in advance.
0 Kommentare
Akzeptierte Antwort
Stephen23
am 13 Sep. 2017
Bearbeitet: Stephen23
am 13 Sep. 2017
hnd = uicontrol('Parent',d,... 'Style','edit',... 'Position',[20 330 210 60],... 'String','-4');
str = get(hnd,'String')
num = str2double(str)
4 Kommentare
Stephen23
am 13 Sep. 2017
"I want to extract the user input value and assign it to a variable. The user can use any number, as it is a user interactive code."
That is exactly what my code does. What you think this example shows?:
>> hnd = uicontrol('Style','edit'); % then I added '+3' by hand
>> get(hnd,'String')
ans = +3
Call get any time you want to check what the current string is. It is that simple. If you want a callback then add a callback (in which case you will also need get or the new dot syntax, whichever works for you).
Are you expecting MATLAB to magically update a variable any time the user changes the string in the edit box? This is possible, but it is quite a bit fiddlier than what I showed you in my answer, and it would be worth considering using nested functions. Have a look at my FEX submission iregexp for an example of how to do this:
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!