Vuoi ottenere il timer matlab per aggiornare la GUI di matlab GUIDE?
-
06-07-2019 - |
Domanda
Ho un oggetto timer matlab. Sta aggiornando una variabile globale FOO una volta al secondo.
Ho una GUI matlab GUI, con un paio di controlli e un singolo frame della trama. Il frame della trama viene aggiornato da alcuni dei controlli della GUI e viene aggiornato dall'oggetto timer.
Fondamentalmente, ci sono due variabili globali FOO e BAR. Il timer aggiorna FOO, la GUI controlla la barra degli aggiornamenti. gli aggiornamenti a FOO o BAR devono aggiornare la GUI.
Come farlo?
Grazie John
Soluzione
NON puoi mettere un orologio su una variabile. Non c'è callback per quello. Tuttavia, sia FOO che BAR vengono aggiornati da:
FOO di timerFcn
BAR per richiamate widget
Devi fare una funzione:
updatePlot% aggiorna la trama per riflettere i nuovi valori di FOO o BAR
e hanno entrambe le funzioni che aggiornano FOO o BAR e chiamano updatePlot come una delle loro ultime funzioni.
Vorrei anche sconsigliare l'uso di variabili globali. Ci sono modi migliori per farlo. Sono un fan di GETAPPDATA e SETAPPDATA. Guarda questo video che ho realizzato al riguardo.
http: //blogs.mathworks. com / video / 2005/10/03 / guida-video-parte-due /
Puoi anche provare le funzioni nidificate.