How to refresh a GUI data in a given time step, automatically?
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have written a code that composes of several steps, i.e. several processing steps and then some GUI for visualization and plotting; steps are like: criterion 1, criterion 2, GUI control, and plot.
For repeating of the steps and showing results for different criteria, I need to make the GUI data (variables) get refreshed in a given time step, automatically. I want to embed the functionality within the GUI opening file. I used the following code, but it does not working. Maybe it's because of the 'Running' mode that is 'off'; but I don't know how to turn it on. Could somebody help me, please?
function my_gui_OpeningFcn
t = timer;
t.StartDelay = 0.1;
t.ExecutionMode = 'fixedRate'
t.Period = 1
t.TimerFcn = @(myTimerObj, thisEvent)refreshdata(hObject,handles);
start(t)
handles.timer = t
handles.output = hObject;
guidata(hObject, handles);
end
0 Commenti
Risposta accettata
Walter Roberson
il 8 Set 2015
Unless you are using a nested function that you have not displayed here, in your
t.TimerFcn = @(myTimerObj, thisEvent)refreshdata(hObject,handles);
neither hObject nor handles will be defined. Also, refreshdata() takes only a single parameter unless you supply the option 'caller'.
You have
function my_gui_OpeningFcn
if instead you had
function my_gui_OpeningFcn(hObject, event)
then you could use
t.TimerFcn = @(myTimerObj, thisEvent)refreshdata(hObject);
provided that the objects to be refreshed are all children of the GUI figure itself.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Migrate GUIDE Apps in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!