Borrar filtros
Borrar filtros

handles in GUI code

1 visualización (últimos 30 días)
Christof
Christof el 5 de Mayo de 2011
Hello, I need to run a loop in a GUI code that goes through a number of text fields tagged as instr1, instr2, instr3, ... in the GUI and edits the text something like
for i=1:n; set(handles.instr{i},'String','i'); end;
how can this be done? Thanks, Chris How can I

Respuesta aceptada

Jarrod Rivituso
Jarrod Rivituso el 5 de Mayo de 2011
A little string searching combined with some struct functions will get ya what you need
handles.instr1 = randn;
handles.instr2 = randn;
handles.instr3 = randn;
handles.sheep = randn;
handles.cat = randn;
handles.dog = randn;
fields = fieldnames(handles)
fieldMatches = strfind(fields,'instr')
fieldInd = ~cellfun(@isempty,fieldMatches)
validNames = fields(fieldInd)
for i = 1:length(validNames)
handles.(validNames{i})
end
Note the syntax
handles.('instr1')
is referred to in the documentation as dynamic field naming

Más respuestas (1)

Christof
Christof el 5 de Mayo de 2011
Thanks Jarrod

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by