您的位置首页百科知识

在matlab中如何创建一个等待条对话框

在matlab中如何创建一个等待条对话框

的有关信息介绍如下:

在matlab中如何创建一个等待条对话框

f=wait bar(x,msg)创建包含具有指定消息的等待栏的非模式对话框。等待栏是分数长度x。在控制它的代码关闭它或用户单击对话框标题栏中的关闭按钮(x)之前,对话框保持打开状态。Figure对象作为f返回。

f=waitbar(x,msg,Name,Value)使用一个或多个在对话框上设置地物属性的名称-值对参数指定其他选项。例如,'Name','Progress'将对话框名称设置为Progress。在所有其他输入参数之后指定名称-值对参数。

wait bar(x)将当前等待栏对话框中的栏长度更新为x。x的连续值通常会增加。如果它们减少,则等待条将反向运行。

wait bar(x,f)将“等待栏”对话框f中的栏长度更新到新位置x。

wait bar(x,f,msg)更新等待栏对话框f中的消息。

“创建基本等待栏”对话框

创建一个等待栏对话框,更新代码中三个点处的分数等待栏长度和消息。

使用此代码模拟执行冗长的计算。pause函数将第一个wait bar对话框的figure对象传递给后续的waitbar函数调用。通过这种方式传递figure对象可以确保在每个点更新对话框,而不是重新创建。模拟计算完成后,对话框关闭。

function basicwaitbar

f = waitbar(0,'Please wait...');

pause(.5)

waitbar(.33,f,'Loading your data');

pause(1)

waitbar(.67,f,'Processing your data');

pause(1)

waitbar(1,f,'Finishing');

pause(1)

close(f)

end

更新等待栏消息并添加取消按钮

添加“取消”按钮,使用户可以停止正在进行的计算。

使用以下代码收敛到循环迭代中pi的值,每次迭代时更新等待栏和消息。当用户单击“取消”按钮时,MATLAB®会在图形应用程序数据(appdata)中将逻辑标志“取消”设置为1(true)。代码在for循环中测试该值,如果标志值为1,则退出循环。有关应用程序数据的详细信息,请参阅将数据存储为应用程序数据。

将CreateCancelBtn回调设置为字符向量值。除非由值指定的代码很简单(如本回调代码中的情况),否则不建议使用此做法。有关详细信息,请参阅以编程方式创建的应用程序的写回调。

function approxpi

f = waitbar(0,'1','Name','Approximating pi...',...

'CreateCancelBtn','setappdata(gcbf,''canceling'',1)');

setappdata(f,'canceling',0);

% Approximate pi^2/8 as: 1 + 1/9 + 1/25 + 1/49 + ...

pisqover8 = 1;

denom = 3;

valueofpi = sqrt(8 * pisqover8);

steps = 20000;

for step = 1:steps

% Check for clicked Cancel button

if getappdata(f,'canceling')

break

end

% Update waitbar and message

waitbar(step/steps,f,sprintf('%12.9f',valueofpi))

% Calculate next estimate

pisqover8 = pisqover8 + 1 / (denom * denom);

denom = denom + 2;

valueofpi = sqrt(8 * pisqover8);

end

delete(f)

end