Matlab - Imagen antes de la ventana GUI

   
Vista:

Imagen antes de la ventana GUI

Publicado por Juan (27 intervenciones) el 11/04/2012 22:03:31
Hola, estoy haciendo una GUI. Me gustaría que antes de aparecer el FIG, aparezca una imagen y un botón "continuar", al pulsarlo se cierra esa imagen y aparece el FIG.

Lo que tengo hecho:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function Curso_OpeningFcn(hObject, ~, handles, varargin)
 
 
%Pantalla inicio
Screen=get(0,'ScreenSize');
figdiag=figure('Units','Pixels','Position',[0 0 Screen(3)*0.95 Screen(4)*0.8],'Number','off','Name','Programa de clase','Menubar','none','color',[0 0 0],'Resize','off');
Posicion=get(gcf,'Position');
xr=Screen(3)-Posicion(3);
xp=round(xr/2);
yr=Screen(4)-Posicion(4);
yp=round(yr/2);
set(gcf,'Position',[xp yp Posicion(3) Posicion(4)]);
 
 
axes('Units','Normalized','Position',[0 0 1 1]);
[x,map]=imread('imagen.jpg','jpg');
image(x),colormap(map),axis off,hold on
 
%Botón Continuar
boton=uicontrol('Style','pushbutton','Units','normalized','Position',[.84 .03 .12 .05],'String','Continuar','Callback','close(gcf)');
 
handles.output = hObject;
guidata(hObject, handles);


Sin embargo, esto no me funciona, porque no logro evitar que se me abra el propio .fig.

¿Alguien me puede dar alguna pista?
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

Imagen antes de la ventana GUI

Publicado por Gerardo gerardo_lonely@hotmail.com (95 intervenciones) el 12/04/2012 19:18:28
Hola Juan!

Bueno puedes hacer dos GUI y desde la GUI_1 llamar a la GUI_2
Es para mi la solucion mas facil que encuentro.

Saludos!
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

Imagen antes de la ventana GUI

Publicado por Juan (27 intervenciones) el 12/04/2012 23:33:31
Hola Gerardo, lo primero es agradecerte tu respuesta. Lo que me has comentado es algo que ya he hecho. Te explico, mi programa principal, llamémosle Principal.m (con su Principal.fig), este programa datos de un excel y tarda algunos segundos.

Tengo un programa Inicial.m en el que aparece una imagen y hay un botón que se llama Continuar, cuando lo pulsas manda iniciar Principal.m y se cierra Inicial.m

El problema, es que Inicial.m se cierra, pero hasta que aparece Principal.m me tardan algunos segundos.

Por lo tanto, he decidido implementar esa imagen inicial en el propio Principal.m, de esta manera, aunque tarde en cargar todo (en conjunto), veré esa imagen inicial, pulsaré el botón Continuar y aparecerá muy rápidamente la Principal.FIG.

Un saludo, y 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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Imagen antes de la ventana GUI

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3440 intervenciones) el 13/04/2012 02:15:13
Hola JUan.
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
function varargout = uiwait1_jose_jeremias_caballero(varargin)
clc
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @uiwait1_jose_jeremias_caballero_OpeningFcn, ...
                   'gui_OutputFcn',  @uiwait1_jose_jeremias_caballero_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 uiwait1_jose_jeremias_caballero_OpeningFcn(hObject, ~, handles, varargin)
[numeros,text,datos]=xlsread('Nombres.xlsx');
handles.datos=datos;
%Pantalla inicio
Screen=get(0,'ScreenSize');
figdiag=figure('Units','Pixels','Position',[0 0 Screen(3)*0.95 Screen(4)*0.8],'Number','off','Name','Programa de clase','Menubar','none','color',[0 0 0],'Resize','off');
Posicion=get(gcf,'Position');
xr=Screen(3)-Posicion(3);
xp=round(xr/2);
yr=Screen(4)-Posicion(4);
yp=round(yr/2);
set(gcf,'Position',[xp yp Posicion(3) Posicion(4)]);
axes('Units','Normalized','Position',[0 0 1 1]);
[x,map]=imread('imagen.jpg','jpg');
image(x),colormap(map),axis off,hold on
%Botón Continuar
boton=uicontrol('Style','pushbutton','Units','normalized','Position',[.84 .03 .12 .05],'String','Continuar','Callback','close(gcf)');
handles.output = hObject;
guidata(hObject, handles);
uiwait
 
 
function varargout = uiwait1_jose_jeremias_caballero_OutputFcn(~, ~, handles)
varargout{1} = handles.output;
 
function uipanel1_SelectionChangeFcn(hObject, ~, handles)
datos=handles.datos;
nombres=datos(:,2:1:end);
P(1)=handles.Primario1; P(2)=handles.Primario2;
P(3)=handles.Primario3; P(4)=handles.Primario4;
P(5)=handles.Primario5; P(6)=handles.Primario6;
P(7)=handles.Primario7; P(8)=handles.Primario8;
P(9)=handles.Primario9;
if hObject==handles.Inicial1
    set(handles.Panel_Primario,'Title','Clase A','Visible','on');
    columna=1;
elseif hObject==handles.Inicial2
    set(handles.Panel_Primario,'Title','Clase B','Visible','on');
    columna=2;
elseif hObject==handles.Inicial3
    set(handles.Panel_Primario,'Title','Clase C','Visible','on');
    columna=3;
end
    for i=1:9
    set(P(i),'visible','off')
    end
    nombres1=nombres(:,columna);
    k=0;
    nombres11=[];
    for i=1:size(nombres,1)
        if ischar(cell2mat(nombres1(i))) && size(cell2mat(nombres1(i)),2)>1
            k=k+1;
            nombres11{k}=nombres1(i);
        end
    end
    for i=1:size(nombres11,2)
      set(P(i),'visible','on')
    end
    for i=1:size(nombres11,2)
      set(P(i),'string',nombres11{i})
    end



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
jjcc94@hotmail.com

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

Imagen antes de la ventana GUI

Publicado por Juan (27 intervenciones) el 13/04/2012 16:29:21
Muchas gracias Jose Jeremías, no pensaba que fuese tan sencillo, sólo tenía que usar al final el uiwait.

Un saludo, y gracias otra vez.
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