handles in GUI code

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

 采纳的回答

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

更多回答(1 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Environment and Settings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by