目录
语法
说明
示例
等待警告对话框关闭
等待属性值更改
等待属性更改为特定值
waitfor阻止执行并等待条件
语法
1
2
3
4
5waitfor(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
后的命令不会执行。
1
2
3mydlg = warndlg('This is a warning.', 'A Warning Dialog'); waitfor(mydlg); disp('This prints after you close the warning dialog.');
等待属性值更改
在将数据添加到表之前,等待用户选中复选框。复选框的Value
属性在未选中时为0
,在选中时为 1
。
1
2
3
4
5t = uitable; c = uicontrol('Style','checkbox','String','Add data'); c.Position = [320 100 80 20]; waitfor(c,'Value'); t.Data = magic(5);
等待属性更改为特定值
当用户停止编辑文本字段并点击图窗中的其他位置时,更改文本字段的背景颜色。当文本字段失去焦点时,Editing
属性从 'on'
更改为 'off'
。
1
2
3
4
5
6txt = 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 属性值设置为何值。
最后
以上就是激情水池最近收集整理的关于Matlab中waitfor函数用法的全部内容,更多相关Matlab中waitfor函数用法内容请搜索靠谱客的其他文章。
发表评论 取消回复