Matlab - parametrizacion con guide

 
Vista:

parametrizacion con guide

Publicado por Antonio (32 intervenciones) el 04/02/2010 13:58:14
Hola a tod@s. Estoy desarrollando un programita con guide y tengo la siguiente duda:

Mi ventana tiene numerosos cuadros de texto, labels, axes y botones. Necesito que parte de estas figuras aparezcan y desaparezcan en la ventana según las necesidades del programa.

set(handles.objeto1,'Visible','on') esta es la instrucción tipo que uso para por ejemplo hacer que aparezca el 'objeto1'. Este sistema funciona.

La cuestión es que tengo que efectuar esta operación mucho y me gustaría automatizarla un poco. ¿Hay alguna manera de parametrizar el texto 'handles.objeto1'? Yo he intentado lo siguiente para hacer aparecer 10 objetos:

for i=1:10
nombre = strcat('handles.objeto',int2str(i));
set(nombre,'Visible','on');
end

Esto no funciona pq nombre es un 'string' y el comando set no lo reconoce.
Si hago: nombre = handles.objeto1, matlab devuelve un número 345.0010. No se que quiere decir.

Se le ocurre a alguien algo????

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:parametrizacion con guide

Publicado por f-gustavo (44 intervenciones) el 04/02/2010 18:44:19
lo quev deebes hacer es usar comandos como guihandles o findobject los cuaLES TE DAN EN FORMA DE ESTRUCTURAS LOAS HANDLES O IDENTIFICADORES DE CADA UNPO DE LOS ELEMENTOS DE LA GUIDE , TIENES LUEGO ELEGIR CUALES SON LOS ELEMENTPOS DE LA ESTRUCVTURA QUE VAS A APARECER O DESAPARECER.... SI VAS A ELEGIR OBJETOS DE UN MISMO TIPOVPOR EJEMPLO EDIT TEXT USA FINDOBJECT OK-.---- PERDON POR LA ESCRITURA....PERO TERNGO PRISA....usas esas funciones yo las he usado y con esas sale todo bien......................................
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:parametrizacion con guide

Publicado por Antonio (32 intervenciones) el 08/02/2010 17:30:49
Pues sí, al final he conseguido que se ejecute lo que buscaba:

function [ ] = seleccion(n1,n2,objeto,propiedad,opcion);
handles = guihandles(compacta_23);
for i=n1:n2
ente = strcat(objeto,int2str(i));
names=getfield(handles,ente);
set(names,propiedad,opcion);
end

de esta manera si quiero hacer desaparecer 20 entidades objeto1,2,3...20, solo tengo que hacer la llamada a la función:

seleccion(1,20,'objeto','Visible','off');

claro, la clave estaba en que handles.objeto1 forma parte de una estructura. una vez comprendido esto el resto es sencillo. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar