Matlab - Interaccion de un UIbuttongroup en un cuadro de dialogo y una guide matlab

 
Vista:
sin imagen de perfil

Interaccion de un UIbuttongroup en un cuadro de dialogo y una guide matlab

Publicado por howar rafael (4 intervenciones) el 09/08/2017 20:39:00
buenas tardes. estoy haciendo un uibuttongroup de varios radiobuttons en un cuadro de dialogo y la idea es que cuando un radiobutton sea seleccionado, se modifique automaticamente la lista de un popupmenu de un GUIDE. que esta en otra ventada diferente al cuadro de dialogo.. es posible hacer eso?
YA he logrado cambiar propiedades con selectionchangefcn pero solo me deja cambiar edit y texts que estan en el mismo cuadro de dialogo.
ESTO ES LO QUE LLEVO HASTA AHORA
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
% cuadro de dialogo para escoger el modo de la experiencia
choice=dialog('position',[400 100 700 600],'name','Modo de la Experiencia Virtual','color',[.5,.6,.9]);
bg = uibuttongroup( 'parent',choice,...
                    'title','Opciones de Modo',...
                    'Visible','on',...
                    'backgroundcolor',[.5,.6,.9],...
                    'Position',[0 0 .3 1]);
 
 
r1 = uicontrol(bg,'parent',bg,...
                  'backgroundcolor','b',...
                  'Style','radiobutton',...
                  'String','Selectividad',...
                  'Position',[10 450 100 30],...
                  'Tag','1',...
                  'HandleVisibility','off');
 
r2 = uicontrol(bg,'parent',bg,...
                  'Style','radiobutton',...
                  'String','Option 2',...
                  'Position',[10 350 100 30],...
                  'Tag','2',...
                  'HandleVisibility','off');
 
r3 = uicontrol(bg,'parent',bg,...
                    'Style','radiobutton',...
                  'String','Option 3',...
                  'Position',[10 250 100 30],...
                  'Tag','3',...
                  'HandleVisibility','off');
r4 = uicontrol(bg,'parent',bg,...
                    'Style','radiobutton',...
                  'String','Option 4',...
                  'Position',[10 150 100 30],...
                  'Tag','4',...
                  'HandleVisibility','off');
r5 = uicontrol(bg,'parent',bg,...
                    'Style','radiobutton',...
                  'String','Option 5',...
                  'Position',[10 550 100 30],...
                  'Tag','5',...
                  'HandleVisibility','off');
 global btn
btn = uicontrol(choice,'parent',choice,...
                  'Style','pushbutton',...
                  'position',[10 50, 100 30],...
                  'HandleVisibility','off',...
                  'string','Aceptar');
 
 set(bg,'SelectedObject',[]);
set(bg,'SelectionChangeFcn',@bgcbk);
 
    function bgcbk(source,eventdata)
       global A B C txt1
 
       switch get(eventdata.NewValue,'Tag')
            case '1'
%                 A='Agua';
%                 B=['1-Butanol   '];
%                 C='Acido Acético';
%                 for i=1:length(B(:,1))
%                     string(i,:)=[num2str(i) ': ' A '-' B(i,:) '-' C];
%                 end
%                 set(popupmenu1,'value',size(string,1)+1);
                set(txt1,'visible','on');
                set(txt1,'string','ESta es la nueva selectividad');
                set(popupmenu1,'visible','off');
 
            case '2'
 
                A='Agua';
                B=['1-Butanol   '];
 
                C='Acido Acético';
                for i=1:length(B(:,1))
                    string(i,:)=[num2str(i) ': ' A '-' B(i,:) '-' C];
                end
                set(handles.popupmenu1,'value',size(string,1)+1)
            case '3'
 
                A='Agua';
                B=['1-Butanol   '];
 
                C='Acido Acético';
                for i=1:length(B(:,1))
                    string(i,:)=[num2str(i) ': ' A '-' B(i,:) '-' C];
                end
                set(handles.popupmenu1,'value',size(string,1)+1)
            case '4'
 
                A='Agua';
                B=['1-Butanol   '];
 
                C='Acido Acético';
                for i=1:length(B(:,1))
                    string(i,:)=[num2str(i) ': ' A '-' B(i,:) '-' C];
                end
                set(handles.popupmenu1,'value',size(string,1)+1)
            case '5'
 
                A='Agua';
                B=['1-Butanol   '];
 
                C='Acido Acético';
                for i=1:length(B(:,1))
                    string(i,:)=[num2str(i) ': ' A '-' B(i,:) '-' C];
                end
                set(handles.popupmenu1,'value',size(string,1)+1)
 
        end
el popupmenu es el que esta en el guide del fondo y el cuadro de dialogo esta en frente
Sin-titulo
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 DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Interaccion de un UIbuttongroup en un cuadro de dialogo y una guide matlab

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 09/08/2017 22:54:19
si vas a cambiar algo de una guide puedes hacer esto :

1
2
3
a=nombredelguide;
s=guidata(a);
set(s.popupmenu1,'String',{'opcion 1' 'opcion 2' 'opcion 3'})



Universidad del Atlántico?
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