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回调,用户在其中输入问题的答案。在这个回调

我试图在MATLAB程序中使用waitbar函数实现一个“完成百分比”栏。然而,我在这方面遇到了麻烦。以下是我目前拥有的代码:


在我的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中呢?我不想把它放在自己的窗口里。我试着在我原来的帖子中修改你的代码,但是没有用。