Matlab - Killer de Aplicacion

 
Vista:

Killer de Aplicacion

Publicado por David Lopez Peinado (2 intervenciones) el 23/01/2003 14:47:00
Estoy realizando un GUI con la herramienta guide de Matlab, en dicho GUI se ejecutan varios algoritmos ya implementados según la opción que elija el usuario con un popup menu.
Mi duda es que se quiere implementar un botón pushbutton que detenga el algoritmo en proceso y el GUI vuelva a la posicion de reposo es decir apto para procesar otra vez, sin sacar los resultados de la anterior operacion, en definitiva generar una interrupción y retorno al principio en Matlab, un Killer.
Si alguien conoce alguna función o codigo fuente con el que ayudarme mandemelo a mi correo. 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 Alejandro

Detener algoritmo y reiniciar GUI

Publicado por Alejandro (145 intervenciones) el 05/10/2023 16:35:53
Para implementar un botón pushbutton que detenga el algoritmo en curso y reinicie el GUI, puedes seguir estos pasos:

1. Añadir un botón Stop al GUI:
- Abre el archivo `.fig` de tu GUI utilizando GUIDE.
- Añade un botón pushbutton al GUI y etiquétalo como "StopButton".

2. Añadir código al callback del botón:
- Abre el archivo `.m` asociado a tu GUI.
- Encuentra la sección de código generada automáticamente para el callback del botón (debería llamarse algo como `StopButton_Callback`).

3. Implementar funcionalidad de detención y reinicio:
- Dentro de la función del callback, puedes usar `uiwait` junto con una condición para detener la ejecución hasta que se presione el botón Stop.
- Para reiniciar el GUI, puedes cerrar la ventana actual y abrir una nueva instancia.

Aquí tienes un ejemplo de cómo podría verse el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
% Callback para el botón StopButton
function StopButton_Callback(hObject, eventdata, handles)
    % Detener el algoritmo (puedes necesitar ajustar esto según tu implementación)
    stopAlgorithm();  % Reemplaza con la función que detiene tu algoritmo
 
    % Cerrar la ventana actual
    close(handles.figure1);
 
    % Abrir una nueva instancia del GUI
    tuGUI;
end
 
% Función para detener el algoritmo (debes ajustarla según tus necesidades)
function stopAlgorithm()
    % Aquí detienes tu algoritmo en curso
    % Puedes usar variables de control, timers, etc.
end

Recuerda reemplazar `stopAlgorithm` con la función real que detiene tu algoritmo. Este es solo un ejemplo básico para darte una idea de cómo podrías estructurar el código.
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