我在Matlab GUI中使用了一个等待栏,并且由于唯一的计算需要很长时间,我看到屏幕上的等待栏显示消息“正在进行操作”。有没有办法放一个时钟或一个简单的旋转图标来表明工作正在进行中(它不在循环中,所以我可以使用步骤)?
脚本:
h = waitbar(0,'Operation is underway');
% Calculations
close(h);
答案 0 :(得分:0)
大概在计算部分中,您正在调用函数,而不是像Matlab documentation或this post建议的那样使用for循环。
render() {
return (
<div>
<Button bsStyle="primary" onClick={this.open}>Add Parameter</Button>
<Modal show={this.state.showModal} onHide={this.close}>
<Modal.Header>
<Modal.Title>Add / Edit Parameter</Modal.Title>
</Modal.Header>
<Modal.Body>
<form>
<FormGroup controlId="parameterType">
<ControlLabel>Type</ControlLabel>
<FormControl componentClass="select" placeholder="Type">
<option value="select">select</option>
<option value="other">...</option>
</FormControl>
</FormGroup>
</form>
</Modal.Body>
<Modal.Footer>
<Button bsStyle="primary" onClick={this.close}>Save Changes</Button>
</Modal.Footer>
</Modal>
</div>
)
}
%% With for loop, no icon
h = waitbar(0,'Starting...');
for i=1:1000,
pause(0.01);
relativeValue = i/1000;
waitbar(relativeValue, h, sprintf('%12.0f %%',relativeValue*100))
end
这涉及构建自己的Matlab类,它创建自己的自定义对话框,公开 start,stop 和其他选项。如果您不想遇到麻烦,可以使用其他人构建的预先存在的库,例如this multiWaitbar。