h(i) = strcat('ha​ndles.uipa​nel',num2s​tr(i)), when I use set(h(i),'Visible','ON') ,it doesn't work

2 visualizaciones (últimos 30 días)
Well ,I have a for ...end
for b=1:9
h = strcat('handles.uipanel',num2str(b));
set(h,'Visible','ON');
end
Error:Error using set; Value must be a handle.
Thank you for your help!

Respuesta aceptada

Walter Roberson
Walter Roberson el 24 de En. de 2013
Editada: Walter Roberson el 24 de En. de 2013
In your situation you could use the dynamic fieldname approach.
  2 comentarios
Jan
Jan el 24 de En. de 2013
I would even prefer not to let GUIDE create "handles.uipanel1", "handles.uipanel2", ..., but to create an array instead: "handles.uipanel(1)", etc. Then the loop can be omitted:
set(h.uipanel, 'Visible', 'ON');
But unfortunately the automatic code generation in GUIDE prefers to append the index to the name of the field. Then Walter's suggestion means:
for b = 1:9
set(handles.sprintf('uipanel%d', b), 'Visible', 'on');
end
Lisa Wu
Lisa Wu el 29 de En. de 2013
Thank you very much! As you said ,I have used an array!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by