Matlab - Cambiar gui con la selección en un Popup menu

 
Vista:

Cambiar gui con la selección en un Popup menu

Publicado por K (4 intervenciones) el 02/02/2017 16:01:49
Hola,

Me pregunto si es posible que en Matlab, la GUI cambie dinámicamente con la selección de un Popup Menú.
Lo que quiero hacer es por ejemplo sacar el área de figuras geométricas. Entonces si se selecciona en el Popup Menú Círculo, en la GUI aparezca un recuadro para ingresar el radio; si se selecciona rectángulo,aparezcan dos recuadros para ingresar la base y la altura; si se selecciona trapezio, aparezcan 3 recuadros para ingresar la altura, la base mayor y la base menor.

¿Es esto posible como podría hacerlo?

Muchas 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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Cambiar gui con la selección en un Popup menu

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 02/02/2017 16:33:07
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
function varargout = guide_dinamico(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @guide_dinamico_OpeningFcn, ...
                   'gui_OutputFcn',  @guide_dinamico_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end
 
if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
 
function guide_dinamico_OpeningFcn(hObject, eventdata, handles, varargin)
set(handles.popupmenu1,'string',{'circulo','rectangulo','trapecio'});
set(handles.edit1,'string',' ')
set(handles.edit1,'visible','off ')
set(handles.edit2,'string',' ')
set(handles.edit2,'visible','off ')
 
handles.output = hObject;
guidata(hObject, handles);
 
function varargout = guide_dinamico_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
 
function popupmenu1_Callback(hObject, eventdata, handles)
opcion=get(hObject,'Value');
if opcion==1
    set(handles.edit1,'visible','on')
    set(handles.edit2,'visible','off ')
elseif opcion==2
     set(handles.edit1,'visible','on')
      set(handles.edit2,'visible','on')
end
handles.opcion=opcion;
guidata(hObject, handles);
 
function popupmenu1_CreateFcn(hObject, eventdata, handles)
function edit1_Callback(hObject, eventdata, handles)
if handles.opcion==1
   radio=str2double(get(handles.edit1,'String'))
end
function edit2_Callback(hObject, eventdata, handles)
if handles.opcion==2
 altura=str2double(get(handles.edit1,'String'))
  base=str2double(get(handles.edit2,'String'))
end

parte del codigo en guide.

Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
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