MATLAB Answers

Lisa Wu

How to use 'Edit Text' efficiently in a GUI?

Asked by Lisa Wu
on 23 Nov 2012
Latest activity Answered by handan duras on 23 Oct 2016
I notices that there are two ways to ues it;
The tag of edit1 is edit1.
Method 1:
function edit1_callback()
num1 = get(hObject,'string');
handles.num1 = num1;
guidatda(gcbo,handles); % why need this command?
function pshbtn1_callback()
y = handles.num1;
guidata(gcbo,handles); % why need it too?
Method 2:
function pshbtn_callback()
y = str2num(get(hObject,handles));
As shown above, what's the difference? And the effect of "guidata(gcbo,handles)" ? Thank you very much!


The Method 2 should be:
y = str2num(get(handles.edit1,'string'));
the second method works just fine. Thanks

Sign in to comment.


2 Answers

Answer by Arthur
on 23 Nov 2012
 Accepted Answer

If you use guidata(gcbo,handles), you save the string of your textbox in the 'handles' structure; in your pshbtn_callback you subsequently read this value from handles again. I personally prefer method 2, where you read out the string of the textbox in the button callback. This has a few advantages:
  • you only use the handles structure for what it's supppost to (storing handles)
  • you retrieve the string at the very moment you need it (ensures that you have the string that is actually shown in the textbox)
Method 1 is not wrong though, it will work.

  1 Comment

Thank you very much!

Sign in to comment.

Answer by handan duras on 23 Oct 2016



Sign in to comment.