Desactiva radiobuttom
Publicado por Vycente (3 intervenciones) el 19/03/2012 23:27:30
Hola a todo el mundo de este foro, espero explicar bien mi problema o si lo que os voy a contar está correctamente planteado.
Estoy realizando una GUI, tengo un Buttomgroup general en el que hay tres Radiobuttom:
- Uno ---> al seleccionarlo se ve un Buttomgroup que se llama Grupo_uno que tiene dos Radiobuttom:
----> Uno_a
-----> Uno_b
De la misma manera, tengo:
-Dos---->Grupo_dos ---->Dos_a y Dos_b
-Tres--->Grupo_tres--->Tres_a y Tres_b
Todas estas opciones están inicialmente desactivas (todo tienen de Value 0).
Si pulso Uno y selecciono el boton Uno_a, me gustaría que si después pulso Dos y vuelvo a Uno, me gustaría que la selección Uno_a estuviese desactivada.
Esto lo hago diciendo que cuando pulses Uno se pongan de valor cero los Uno_a y Uno_b. De la misma manera para Dos y Tres.
El problema, es que no se desactiva instantáneamente, hay unas fracciones de segundo en las que se ve la opción que estaba seleccionada. ¿qué puedo hacer? ¿creéis que lo que he hecho no es correcto? ¿hay alguna manera de hacerlo mejor?
Este es el código:
Estoy realizando una GUI, tengo un Buttomgroup general en el que hay tres Radiobuttom:
- Uno ---> al seleccionarlo se ve un Buttomgroup que se llama Grupo_uno que tiene dos Radiobuttom:
----> Uno_a
-----> Uno_b
De la misma manera, tengo:
-Dos---->Grupo_dos ---->Dos_a y Dos_b
-Tres--->Grupo_tres--->Tres_a y Tres_b
Todas estas opciones están inicialmente desactivas (todo tienen de Value 0).
Si pulso Uno y selecciono el boton Uno_a, me gustaría que si después pulso Dos y vuelvo a Uno, me gustaría que la selección Uno_a estuviese desactivada.
Esto lo hago diciendo que cuando pulses Uno se pongan de valor cero los Uno_a y Uno_b. De la misma manera para Dos y Tres.
El problema, es que no se desactiva instantáneamente, hay unas fracciones de segundo en las que se ve la opción que estaba seleccionada. ¿qué puedo hacer? ¿creéis que lo que he hecho no es correcto? ¿hay alguna manera de hacerlo mejor?
Este es el código:
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
function varargout = VENTANAS(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @VENTANAS_OpeningFcn, ...
'gui_OutputFcn', @VENTANAS_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
% End initialization code - DO NOT EDIT
% --- Executes just before VENTANAS is made visible.
function VENTANAS_OpeningFcn(hObject, eventdata, handles, varargin)
set(handles.Grupo_uno,'Visible','off');
set(handles.Grupo_dos,'Visible','off');
set(handles.Grupo_tres,'Visible','off');
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = VENTANAS_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
% --- Executes when selected object is changed in uipanel1.
function uipanel1_SelectionChangeFcn(hObject, eventdata, handles)
if hObject==handles.uno
set(handles.Uno_a,'Value',0);
set(handles.Uno_b,'Value',0);
set(handles.Grupo_uno,'Visible','on');
set(handles.Grupo_dos,'Visible','off');
set(handles.Grupo_tres,'Visible','off');
elseif hObject==handles.dos
set(handles.Dos_a,'Value',0);
set(handles.Dos_b,'Value',0);
set(handles.Grupo_uno,'Visible','off');
set(handles.Grupo_dos,'Visible','on');
set(handles.Grupo_tres,'Visible','off');
elseif hObject==handles.tres
set(handles.Tres_a,'Value',0);
set(handles.Tres_b,'Value',0);
set(handles.Grupo_uno,'Visible','off');
set(handles.Grupo_dos,'Visible','off');
set(handles.Grupo_tres,'Visible','on');
end
Valora esta pregunta
0