我使用 Matlab 中的 App Designer 创建了一个应用程序。我有一个名为的复选框CheckBox
,想从循环内部访问其值,例如将其显示在控制台中。可以这样做
while true
disp(app.CheckBox.Value);
end
虽然从技术上讲这是可行的,但这只会显示循环开始前复选框的值。即使我通过分别选中和取消选中复选框来更改值,读取的值app.CheckBox.Value
仍保持不变。
如果我pause(0.1);
在循环中添加一个语句,那么值就可以更新,但这会大大减慢循环速度。有没有其他方法可以确保复选框(以及应用程序中的任何其他组件)的值正确更新,而无需暂停整个程序?
答案1
这个技巧是通过添加drawnow;
循环来实现的,这会强制进行 GUI 更新,但不会增加故意的延迟。