How to have a function constantly execute in a Matlab Guide GUI?
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I am trying to create the following GUI:
Monitor a textbox. If the input of the textbox changes, change the background color of another textbox for half a second, and then revert it back.
The way I thought about doing this is having a function that is constantly executing, checking in a while loop if the input of the textbox has changed. If it has changed, change the color of the textbox and wait half a second. Then change it back.
The problem is that I am not sure how to have a function that is always executing. All of the button functions and other things in the matlab gui guide only execute when they are pushed or pressed.
0 comentarios
Respuestas (1)
Randy Acheson
el 10 de Feb. de 2017
Editada: Randy Acheson
el 10 de Feb. de 2017
You can have a callback called regularly during the duration of a program by using the 'timer' object. Create a timer in the OpeningFcn of your GUIDE application, and assign it the callback you wish to call repeatedly. Here is an example:
function TestGUI_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to untitled (see VARARGIN)
% Choose default command line output for untitled
handles.output = hObject;
t = timer();
t.Period = 2;
t.ExecutionMode = 'fixedRate';
t.TimerFcn = @TimerFcn; % Here is where you assign the callback function
handles.timer = t; % Put the timer object inside handles so that you can stop it later
start
(t)
% Update handles structure
guidata(hObject, handles);
Then, when you want to stop the timer, you can do so in any callback in your application with this line:
stop(handles.timer)
For an alternative approach, see this MATLAB Answers post:
1 comentario
Konvictus177
el 3 de Nov. de 2022
Editada: Konvictus177
el 10 de Nov. de 2022
Does this slow down the app? Does calling the function repeatedly with the timer object slow down other processes running in the app?
Ver también
Categorías
Más información sobre Environment and Settings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!