MATLAB更新waitbar
我试图在MATLAB程序中使用waitbar函数实现一个“完成百分比”栏。然而,我在这方面遇到了麻烦。以下是我目前拥有的代码:MATLAB更新waitbar,matlab,user-interface,progress-bar,Matlab,User Interface,Progress Bar,我试图在MATLAB程序中使用waitbar函数实现一个“完成百分比”栏。然而,我在这方面遇到了麻烦。以下是我目前拥有的代码: 在我的GUI中 POSITION = [53.3333 20 188.5446 20]; H = uiwaitbar(POSITION); for percentageDone = 0; uiwaitbar(H,percentageDone); end 然后 在脚本的其他地方,我有一个KeyPressFcn回调,用户在其中输入问题的答案。在这个回调
在我的GUI中
POSITION = [53.3333 20 188.5446 20];
H = uiwaitbar(POSITION);
for percentageDone = 0;
uiwaitbar(H,percentageDone);
end
然后 在脚本的其他地方,我有一个KeyPressFcn回调,用户在其中输入问题的答案。在这个回调结束时,对于每个正确的答案,我希望等待栏填满一点。然而,无论我给percentageDone变量指定了什么值,GUI中的waitbar都不会改变
有人能帮我吗?在设置扩展数据属性后,您可能错过了一个
drawnow
调用,以强制刷新图形事件队列。如果这不能解决您的问题,那么请包含足够的代码来重现症状。在设置扩展数据属性后,您可能缺少一个drawnow
调用,以强制刷新图形事件队列。如果这不能解决您的问题,请包含足够的代码来重现症状。您是否尝试过使用文件交换?这可能会帮你省去很多麻烦。我一直使用它,效果很好。您是否尝试过使用文件交换?这可能会帮你省去很多麻烦。我用它总是有很好的效果。你是先创建等待栏的吗?大概是这样的:
h = waitbar(0, '1', 'Name', 'My progress bar', 'CreateCancelBtn', 'setappdata(gcbf, ''canceling'', 1)');
之后,要更新等待栏,请执行以下操作:
编辑:修复了文本输出的错误:完成百分比
必须乘以100。
waitbar(percentageDone, h, sprintf('Already %d percent ready!', 100*percentageDone));
是否首先创建等待栏
?大概是这样的:
h = waitbar(0, '1', 'Name', 'My progress bar', 'CreateCancelBtn', 'setappdata(gcbf, ''canceling'', 1)');
之后,要更新等待栏,请执行以下操作:
编辑:修复了文本输出的错误:完成百分比
必须乘以100。
waitbar(percentageDone, h, sprintf('Already %d percent ready!', 100*percentageDone));
我很困惑,你说你在使用内置的WAITBAR函数,但是你似乎自己在实现一个
无论如何,这里有一个显示自定义进度条的毫无用处的示例。继续按“下一步”:
我很困惑,你说你在使用内置的WAITBAR函数,但是你似乎自己在实现一个
无论如何,这里有一个显示自定义进度条的毫无用处的示例。继续按“下一步”:
好的,这很有效。但是如何将其嵌入到GUI中呢?我不想把它放在自己的窗口里。我试着在我原来的帖子中修改你的代码,但它不起作用。好吧,这很管用。但是如何将其嵌入到GUI中呢?我不想把它放在自己的窗口里。我试着在我原来的帖子中修改你的代码,但是没有用。