Edit box in Gui app

12 Ansichten (letzte 30 Tage)
Wiktoria Glogowska
Wiktoria Glogowska am 24 Jul. 2019
I am working on an app in GUIDE matlab. I want to display some information (1st cell in a field of a structure) in an editbox in the main figure of GUI. I was using the followinf code, which doesn't work (no change to the edit text box):
function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
MyData=handles.MyData;
handles.edit1 = edit1;
name=MyData.XXX.subsysNames(1,1)
set(handles.edit1,'String',cell2str(name));
guidata(hObject, handles)
(I suspect that I might be using the handles wrong but I am not sure. Could somebody point me in the right direction? ) How do I update the edit box?
Thanks!

Akzeptierte Antwort

Dennis
Dennis am 24 Jul. 2019
Do you get any error messages?
You are overwriting the handle of your edit box, thus you use the wrong handle when you try to update it:
handles.edit1 = edit1; % this should throw an error unless you have an edit1 function somewhere
edit1=handles.edit1; %this would be okayish, but not necessary
I am not aware of any cell2str function. Here is a small example what might work:
handles.MyData{1}=123;
handles.edit1=uicontrol('style','edit');
set(handles.edit1,'callback',{@edit1_cb,handles})
function edit1_cb(hObj,~,handles)
set(handles.edit1,'string',num2str(handles.MyData{1}))
%set(hObj,'string',num2str(handles.MyData{1})) %this would work aswell
end
  5 Kommentare
Dennis
Dennis am 24 Jul. 2019
In that case you can simply change the text of the edit field inside the callback that loads your data.
Wiktoria Glogowska
Wiktoria Glogowska am 24 Jul. 2019
Thanks for help!!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Interactive Control and Callbacks 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!

Translated by