TimerFcn在GUI功能到另一个GUI功能

1视图(30天)
我试图从一个gui功能调用一个gui功能gui脚本,这样我可以通过各种处理。
基本程序是如何工作的:复选框来流数据。
函数Checkbox_Callback (hobject eventdata处理)
时断时续的=得到(hObject,“价值”);
如果时断时续的= = 1
一个=定时器;
集(,“executionMode”,“fixedRate”,“时间”,1“TimerFcn”,“流”);
开始(一个)
elseif时断时续的= = 0
停止(a)
结束
下一个函数用于从一个外部程序调用数据。函数绝对有效,它是如何调用的问题正确的设置(“TimerFcn”, XXXXXXXXX);
“流”功能是沿着这些思路:
函数流(hObject eventdata,处理)
XPNetConnect ();
= XPNetRecv ();
variable1 = out.Variable1;
%计算
句柄。值=的东西;
guidata (hObject处理);
Run_Another_Callback (hObject eventdata处理)
希望你得到的要点我想做什么。
我会很感激的帮助。
提前谢谢你。

接受的答案

丹尼尔Shub
丹尼尔Shub 2012年3月1日
我做事情有点不同……
让你的定时器对象当你让你的gui。如果你在这一点上,所有流的处理需求。
你能做的:
句柄。htimer =计时器(“executionMode”,“fixedRate”,“时间”,1“TimerFcn”@ (h, evt)流(h, evt处理));
注意TimerFcn的规范
@ (h, evt)流(h, evt,处理)
然后您将重写Checkbox_Callback
函数Checkbox_Callback (hObject eventdata处理)
如果get (hObject,“价值”)
开始(handles.htimer)
其他的
停止(handles.htimer)
结束
1评论
约翰
约翰 2012年3月2日
有一件事是……我如何停止计时器?
我得到以下时间我取消选中对应的复选框:
引用不存在的字段“htimer”。
错误ROSv2 > Stream_Data_Callback(第975行)
停止(handles.htimer)
错误gui_mainfcn(第96行)
函数宏指令(变长度输入宗量{:});
错误ROSv2(42)行
gui_mainfcn (gui_State变长度输入宗量{:});
错误
@ (hObject eventdata) ROSv2 (Stream_Data_Callback, hObject、eventdata guidata (hObject))
当评估uicontrol回调时发生错误
…和the timer continues to run.

登录置评。

更多的答案(2)

肖恩·德Wolski
肖恩·德Wolski 2012年3月1日
使用 setappdata / getappdata 所需的处理和 timerfind 找到合适的计时器。
1评论
约翰
约翰 2012年3月1日
再次谢谢你的建议。我会稍后和post时工作。
干杯

登录置评。


约翰
约翰 2012年3月2日
你好,
谢谢你的输入。的意思是什么“h”和“evt”?
我改写如下:
函数ROSv2_OpeningFcn (hObject eventdata处理,变长度输入宗量)
句柄。htimer =计时器(“executionMode”,“fixedRate”,“时间”,1“TimerFcn”@ (hObject eventdata) Stream1 (hObject、eventdata处理));
然后
函数Stream_Data_Callback (hObject eventdata处理)
时断时续的=得到(hObject,“价值”);
如果时断时续的= = 1
开始(handles.htimer)
其他的
停止(handles.htimer)
结束
guidata (hObject处理);
函数Stream1 (hObject eventdata处理)
但是我得到一个错误:
错误而评估TimerFcn计时器timer-1”
H必须处理图或图后裔。
不知道如何解决这个,我以前用的确切属性显示代码,即我使用了
@ (h, evt) Stream1 (h, evt,处理)
但是有一个错误:
错误而评估TimerFcn计时器timer-1”
未定义的函数或变量“hObject”
我叫它在函数Stream1……
提前谢谢了。
3评论
Cait
Cait 2012年7月13日
是的,我也经历着同样的问题。我得到了“H必须处理图或图后裔。”
然后“引用不存在字段gotimer”,这就是我打电话我计时器下次我叫它。
你做什么了?

登录置评。

类别

找到更多的在启动和关闭帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!