以编程方式触发MatlabUI回调
MATLAB UI回调(例如WindowKeyPressFcn)可能会被新触发的回调中断。这对于终止运行时间过长的代码非常有用。有没有办法通过编程触发回调事件以编程方式触发MatlabUI回调,matlab,callback,Matlab,Callback,MATLAB UI回调(例如WindowKeyPressFcn)可能会被新触发的回调中断。这对于终止运行时间过长的代码非常有用。有没有办法通过编程触发回调事件 请注意,与的答案相反,我不是问如何以编程方式运行回调函数。实际上,我想通过编程方式触发回调事件,以利用此可中断性功能。回调中断是由其他回调启动的,特别是因为在回调执行时不能执行任何其他代码。如果您能够“以编程方式”调用回调,那么您已经“中断”了可能正在进行的任何其他回调 这并不是说您不能以编程方式触发UI回调。存储在对象属性(如Windo
请注意,与的答案相反,我不是问如何以编程方式运行回调函数。实际上,我想通过编程方式触发回调事件,以利用此可中断性功能。回调中断是由其他回调启动的,特别是因为在回调执行时不能执行任何其他代码。如果您能够“以编程方式”调用回调,那么您已经“中断”了可能正在进行的任何其他回调 这并不是说您不能以编程方式触发UI回调。存储在对象属性(如
WindowKeyPressFcn
中)中的回调句柄通常会馈送到侦听器中,以获取这些对象的相应事件。例如,您可以使用notify(gcf,'WindowKeyPress')
为当前图形调用WindowKeyPressFcn
但是,如果您能够拨打该电话,您也可以在中断回调中执行任何您想执行的操作。如果您能够运行这一行,因为您正在中断回调,那么您需要考虑回调在恢复执行时会做什么。但是,我想知道计时器函数是否在单独的线程中运行,因此可以在WindowKeyPressFcn当前运行时调用
notify(gcf(),'WindowKeyPress')
。不,我的建议不起作用。奇怪,因为定时器可以中断标准的matlab代码。另外,当它恢复的时候该怎么做也是一个好的观点。