How to refresh a GUI data in a given time step, automatically?

7 ビュー (過去 30 日間)
Ali Y.
Ali Y. 2015 年 9 月 8 日
コメント済み: Ali Y. 2015 年 9 月 9 日
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

採用された回答

Walter Roberson
Walter Roberson 2015 年 9 月 8 日
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.
  1 件のコメント
Ali Y.
Ali Y. 2015 年 9 月 9 日
Thank you for your help Walter; applying the modification makes the code functioning; though, I found It will not be helpful, since my code only refresh the gui's data (objects and handles) without catching the updated work-space data. When I change the refreshdata (hObject,handles) to refreshdata (my_gui), It refresh the gui window that makes the window blink and untouchable.
Therefore, I think it is better, for me, to do the refresh outside of the gui and assign it to another callback function.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMigrate GUIDE Apps についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by