How set default value in edittext in GUI

1 view (last 30 days)
Filip M
Filip M on 16 May 2016
Hi everyone, I have a problem with my GUI. I have to set default value for edittext (if edittext is empty ---> set variable to double 50 or string 'hello', but if not empty set variable from edittext.I do not know how can i do that. Please help me (Im working on Matlab 2013b or 2015b mac edition)

Answers (4)

Walter Roberson
Walter Roberson on 17 May 2016
S = get(handles.editbox1, 'string');
if isempty(S)
S = 'hello';
end

Filip M
Filip M on 17 May 2016
It doesnt work. I have tried this:
function edit1_Callback(hObject, eventdata, handles)
Tstr=get(handles.edit1,'string');
Tstr=str2double(Tstr);
if isnan(Tstr)
Tstr = 58;
end
handles.T=Tstr;
It works but only if i write sth in edit1 and delete it. If i do not write sth, Matlab answer "Reference to non-existent field 'T'."
  3 Comments
Filip M
Filip M on 17 May 2016
Seriously, i have to copy all code? i have used pushbutton.
function pushbutton1_Callback(hObject, eventdata, handles)
T=handles.T
Adam
Adam on 17 May 2016
Edited: Adam on 17 May 2016
You need to show all code relevant to what you are asking. In this case the one line you just added is enough.
And did you not use
guidata( hObject, handles )
at the end of your edit1_Callback? Without this any changes you make to the handles structure in your callback are just local and are lost when the callback scope finishes. So pushbutton1_callback will see exactly the same handles structure as was passed into edit1_callback.
The above code replaces the handles structure stored in the GUI with the one you have edited so that when you trigger the next callback you get the updated 'handles' struct.

Sign in to comment.


Filip M
Filip M on 17 May 2016
Ok i have added guidata to edit1 funcition but still doesnt work. With if isnan works only if I first write sth and immediately delete it. But if i start program with blank edit1 and i push button i have error
  3 Comments
Walter Roberson
Walter Roberson on 17 May 2016
I have tested and confirm that if you have not changed the String property of a uicontrol style edit, then applying str2double() to it will result in NaN, which can be caught with isnan() like you show.

Sign in to comment.


MARIA RODRIGUEZ SANZ
MARIA RODRIGUEZ SANZ on 23 Jul 2018
I have the same problem. Did you fix it??
Thanl you very much!

Categories

Find more on Word games in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!