Получение таймера Matlab для обновления GUI Matlab GUI? - PullRequest
1 голос
/ 17 июня 2009

У меня есть объект таймера Matlab. Он обновляет глобальную переменную FOO один раз в секунду.

У меня есть MATLAB GUIDE GUI, с парой элементов управления и одним кадром графика. Кадр графика обновляется некоторыми элементами управления GUI и обновляется объектом таймера.

По сути, есть две глобальные переменные FOO и BAR. Таймер обновляет FOO, графический интерфейс контролирует обновления BAR. обновления для FOO или BAR должны обновлять графический интерфейс.

Как это сделать?

Спасибо John

1 Ответ

3 голосов
/ 17 июня 2009

Нельзя ставить часы на переменную. Для этого нет обратного вызова. Тем не менее, FOO и BAR обновляются либо:


FOO от timerFcn

BAR по обратным вызовам виджетов


Вам нужно сделать функцию:

updatePlot% обновляет график для отражения новых значений FOO или BAR

и обе функции, которые обновляют FOO или BAR, вызывают updatePlot как одну из своих последних обязанностей.

Я бы также рекомендовал не использовать глобальные переменные. Есть лучшие способы сделать это. Я фанат GETAPPDATA и SETAPPDATA. Посмотрите это видео, которое я сделал об этом.

http://blogs.mathworks.com/videos/2005/10/03/guide-video-part-two/

Вы также можете попробовать вложенные функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...