Matlab - Problema con un popupmenu al momento de llamar desde otra ventana

 
Vista:
sin imagen de perfil

Problema con un popupmenu al momento de llamar desde otra ventana

Publicado por Daniel (10 intervenciones) el 12/04/2015 06:23:21
Hola a todos
Estoy intentando hacer un programa con interfaz gráfica, el cual me permita abrir una segunda ventana para seleccionar una opción dentro de un popupmenu, para lo cual he creado dos archivos .fig
Para la ventana emergente, las opciones del popupmenu están ingresadas desde el archivo .m, ya que se encuentra en una lista en la cual hay ciertos valores que se necesitarán posteriormente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function varargout = Ensayo(varargin)
='editor_indent'>%%Acá va la serie de comentarios creadas por el programa
% End initialization code - DO NOT EDIT
 
global Lista_Conductores
Lista_Conductores = { %Datos de la lista creada. contiene 3 filas y 55 columnas% };
 
function Ensayo_OpeningFcn(hObject, eventdata, handles, varargin)
='editor_indent'>global Lista_Conductores
set(handles.popupmenu1,'String', Lista_Conductores(1,1:55))
 
function popupmenu1_Callback(hObject, eventdata, handles)
='editor_indent'>
global Lista_Conductores;
content = get(handles.popupmenu1,'String'); %Obtiene el contenido del popupmenu1
valor = content(get(hObject,'Value')); %Obtiene el valor seleccionado en el popupmenu
global Calib_Cond RMG Rad_Cond
ind = find(ismember(Lista_Conductores(1,:),valor)); %Busca la posición del valor seleccionado dentro de la lista de conductores ACSR
Calib_Cond = Lista_Conductores{2,ind};
set(handles.text1,'String',Calib_Cond) %Imprime el valor del calibre el conductor seleccionado en MCM
RMG = Lista_Conductores{3,ind}*10^3;
set(handles.text2,'String',RMG) %Imprime el valor del Radio Medio Geométrico del conductor seleccionado
Rad_Cond = sqrt((Calib_Cond*1000*pi*(2.54e-2/1000)^2)/pi)*10^3;
set(handles.text6,'String',Rad_Cond) %Imprime el Radio del Conductor

El problema es que al momento de abrir esta ventana desde la ventana no me abre el popupmenu y me lanza un error que el popupmenu debe contener un String diferente de cero; mientras que si corro la ventana con la lista, me lo abre sin problemas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Warning: popupmenu control requires a non-empty String
Control will not be rendered until all of its parameter values are valid
> In openfig at 135
  In open at 159
  In untitled1>pushbutton1_Callback at 81
  In gui_mainfcn at 96
  In untitled1 at 42
  In @(hObject,eventdata)untitled1('pushbutton1_Callback',hObject,eventdata,guidata(hObject))
Warning: popupmenu control requires a non-empty String
Control will not be rendered until all of its parameter values are valid
> In openfig at 135
  In open at 159
  In untitled1>pushbutton1_Callback at 81
  In gui_mainfcn at 96
  In untitled1 at 42
  In @(hObject,eventdata)untitled1('pushbutton1_Callback',hObject,eventdata,guidata(hObject))

Espero me haga entender con mi pregunta, y me puedan colaborar.
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
Imágen de perfil de JESUS
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Problema con un popupmenu al momento de llamar desde otra ventana

Publicado por JESUS (1818 intervenciones) el 12/04/2015 16:13:00
Hola Daniel , Saludos , adjunta los 4 archivos del programa por favor, el error puede estar en que las funciones son métodos privados .
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
sin imagen de perfil

Problema con un popupmenu al momento de llamar desde otra ventana

Publicado por Daniel (10 intervenciones) el 12/04/2015 17:38:40
Aquí van los 4 archivos
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
Imágen de perfil de JESUS
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Problema con un popupmenu al momento de llamar desde otra ventana

Publicado por JESUS (1818 intervenciones) el 12/04/2015 18:18:06
estás trabajando de la manera más complicada, Si quieres que las lea automaticamente, agrega un listener o si no quieres complicarte agrega un botón para que fije el cambio de tus variables, de todas maneras ahí te adjunto el archivo corrigiendo el error, ya es tu decisión si quieres agregar un listener o un botón que actualice tu elección , saludos desde Colombia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Problema con un popupmenu al momento de llamar desde otra ventana

Publicado por Daniel (10 intervenciones) el 12/04/2015 19:31:00
Muchas gracias por la ayuda

Me llama la atención el botón que actualice las variables, pero que quede desde la ventana de selección del conductor (que el botón de selección en la lista de conductores, me mande los datos correspondientes a la ventana principal), ya que posteriormente pienso incluir mas de un punto de selección de conductor.
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
Imágen de perfil de JESUS
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Problema con un popupmenu al momento de llamar desde otra ventana

Publicado por JESUS (1818 intervenciones) el 12/04/2015 20:09:46
Entonces agrega un listener para que sea más fácil
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
sin imagen de perfil

Problema con un popupmenu al momento de llamar desde otra ventana

Publicado por Daniel (10 intervenciones) el 12/04/2015 20:51:38
Disculpa la molestia, pero no tengo muy claro como es el uso del listener.
¿Este no cambiará el valor de la variable del conductor 1 al momento de seleccionar el valor para el conductor 2?
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
Imágen de perfil de JESUS
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Problema con un popupmenu al momento de llamar desde otra ventana

Publicado por JESUS (1818 intervenciones) el 12/04/2015 20:57:09
los Listener no cambian valores solo son objetos creados por código con el fin de que detecten eventos , como por ejemplo cuando cambias el valor de una variable
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Problema con un popupmenu al momento de llamar desde otra ventana

Publicado por Daniel (10 intervenciones) el 12/04/2015 22:54:06
No logro encontrar en internet como es el uso de los listeners. Veo que va relacionado con un evento y que a partir de allí el toma la información necesaria, pero no logro que me obtenga el valor de la variable requerida de la nueva ventana ¿me podría ayudar?
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
Imágen de perfil de JESUS
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Problema con un popupmenu al momento de llamar desde otra ventana

Publicado por JESUS (1818 intervenciones) el 12/04/2015 23:34:47
aquí está explicado el uso de los listener desde la misma página de matlab http://www.mathworks.com/help/matlab/matlab_oop/learning-to-use-events-and-listeners.html?refresh=true
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar