How to load a structure as a handle?
18 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am trying to load a structure to a handle that I can use in a GUI. When I load the structure, I use
handles.data=load('structure.mat')
However, when I want to pull data from it, I have to use a nested structure of sorts. So if the original structure was DLG, when using the data within the GUI, I have to use handles.data.DLG.fieldname. Is there anyway to just use the DLG structure instead of all of the handles stuff? Below is a function that might be relevant to the question.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
handles.data = load(fullfile(handles.folder, handles.item));
tmp_nam = fieldnames(handles.data.DLG.metadata);
tmp_val = cellfun(@(x)(handles.data.DLG.metadata.(x)),tmp_nam,'UniformOutput',false);
handles.table = [tmp_nam tmp_val];
set(handles.uitable2,'data',handles.table);
guidata(gcbo, handles);
1 commentaire
Jan
le 1 Juin 2017
Modifié(e) : Jan
le 1 Juin 2017
No, this does not "load data to a handle". The struct is called "handles", but it could have any other name also. A "handle" is something very specific. You load the contents of the file to a field of the struct "handles".
I do not know what "a nested structure of sorts" is. "all of the handles stuff" is not clear also.
Réponse acceptée
Plus de réponses (1)
E Wilder
le 9 Déc 2018
Daniel Shrub provides a good answer to this here:
https://www.mathworks.com/matlabcentral/answers/46884-is-there-something-like-a-struct-pointer-in-matlab
0 commentaires
Voir également
Catégories
En savoir plus sur Structures dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!