目录
语法
说明
示例
等待警告对话框关闭
等待属性值更改
等待属性更改为特定值
waitfor阻止执行并等待条件
语法
waitfor(obj) waitfor(obj,propname) waitfor(obj,propname,propvalue)
讯享网
说明
waitfor(obj) 可阻止语句的执行,直到指定的对象关闭(被删除)。当该对象不再存在时,waitfor 将返回并恢复语句的执行。如果该对象不存在,waitfor 将立即返回。
waitfor(obj,propname) 可指定对象的属性名称并阻止语句的执行,直到该属性值更改或该对象关闭。例如,waitfor(mytable,'Data') 会暂停语句执行,直到 mytable 的 'Data' 值更改。如果指定的属性名称无效,则执行仍会被阻止。
waitfor(obj,propname,propvalue) 可指定属性更改为何值时才恢复执行。如果指定的属性已等于propvalue,则waitfor会立即返回并恢复执行。
示例
等待警告对话框关闭
创建一个警告对话框,并等待其关闭。在关闭对话框之前,waitfor后的命令不会执行。
讯享网mydlg = warndlg('This is a warning.', 'A Warning Dialog'); waitfor(mydlg); disp('This prints after you close the warning dialog.');
等待属性值更改
在将数据添加到表之前,等待用户选中复选框。复选框的Value属性在未选中时为0,在选中时为 1。
t = uitable; c = uicontrol('Style','checkbox','String','Add data'); c.Position = [320 100 80 20]; waitfor(c,'Value'); t.Data = magic(5);
等待属性更改为特定值
当用户停止编辑文本字段并点击图窗中的其他位置时,更改文本字段的背景颜色。当文本字段失去焦点时,Editing属性从 'on' 更改为 'off'。
讯享网txt = text(.5,.5,'Edit text and click'); txt.Editing = 'on'; txt.BackgroundColor = [1 1 1]; waitfor(txt,'Editing','off'); txt.BackgroundColor = [1 1 0];
对象
对象,例如 Axes、Text、Panel、ButtonGroup、Table 或UIControl对象。该对象可以是用figure或uifigure函数创建的Figure对象的子对象,也可以是Figure对象中容器的子对象。
propname- 属性名称
属性名称,指定为字符向量或字符串标量。使用此参数指定obj的一个特定属性,须在此属性的值更改之后才能恢复执行。
propvalue- 属性值
与propname相关联的有效属性值
属性值,指定为与propname关联的有效属性值。使用此参数可指示属性必须更改为哪个具体值后才恢复执行。
提示
- 如果在waitfor执行过程中关闭图窗,将会发生错误,因为代码尝试访问不再存在的对象。可以通过在try/catch块中包含waitfor来处理错误。
算法
通常,在使用了waitfor来阻止程序或Simulink® 模型继续执行的情况下,回调仍可以运行。例如,即使已调用waitfor,用于响应用户操作的回调(如按下鼠标按键)仍可以运行。
waitfor也可用于阻止嵌套函数调用。例如,在waitfor函数正运行时执行的回调也可调用waitfor。
如果UI组件的某个回调函数当前正在执行waitfor函数,则可以中断该回调,而不管该组件的 Interruptible 属性值设置为何值。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/39466.html