matlab GUI中的waitbar

waitbar

作用:

這個函數(shù)的作用是打開或者更新進度條。

語法結(jié)構(gòu)有:

(1)h = waitbar(x,'message')

(2)waitbar(x,'message','CreateCancelBtn','button_callback')

(3)waitbar(x,'message',property_name,property_value,...)

(4)waitbar(x)

(5)waitbar(x,h)

(6)waitbar(x,h,'updated message')

應(yīng)用1:

語法結(jié)構(gòu)h = waitbar(x,'message'); %其中x必須為0到1之間的數(shù),message為顯示的信息,其實這個x大于1也可以啊,但是進度條總在滿的狀態(tài),x是多少就對應(yīng)進度條顯示的比例是多少

舉例:hwait=waitbar(0,'請等待>>>>>>>>'); %這個0顯示的是進度條的位置,因為是0,就在起始位置,還有就是這個hwait就是這個waitbar函數(shù)的句柄

得到:

應(yīng)用2

waitbar(x,h,'updated message'); % x為顯示的進度,必須在0到1之間;h為所建立的waitbar的句柄,updated message為實時顯示的信息,常地用于for循環(huán)中。

舉例:

steps=100;

hwait=waitbar(0,'請等待>>>>>>>>');

for k=1:steps

if steps-k<=5

waitbar(k/steps,hwait,'即將完成');

pause(0.05);

else

str=['正在運行中',num2str(k),'%'];

waitbar(k/steps,hwait,str);

pause(0.05);

end;

end;

close(hwait); %注意必須添加close函數(shù),也就是說運行完成后讓此進度條消失。

結(jié)果如下所示:

顯示正在運行中:

顯示即將完成:

應(yīng)用3:

語法結(jié)構(gòu)waitbar(x,'message','CreateCancelBtn','button_callback');%為的是在進度條上添加取消按鈕,用戶可以通過進度條來終止程序的運行。

舉例:

編寫函數(shù)如下;

function [valueofpi step] = approxpi(steps)

% Converge on pi in steps iterations, displaying waitbar.

% User can click Cancel or close button to exit the loop.

% Ten thousand steps yields error of about 0.001 percent.

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

'CreateCancelBtn',...

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

setappdata(h,'canceling',0)

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

pisqover8 = 1;

denom = 3;

valueofpi = sqrt(8 * pisqover8);

for step = 1:steps

% Check for Cancel button press

if getappdata(h,'canceling')

break

end

% Report current estimate in the waitbar's message field

waitbar(step/steps,h,sprintf('.9f',valueofpi))

% Update the estimate

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

denom = denom + 2;

valueofpi = sqrt(8 * pisqover8);

end

delete(h)%刪除進度條,不要去使用close函數(shù)關(guān)閉。

調(diào)用函數(shù):

[estimated_pi steps] = approxpi(10000);

運行結(jié)果:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,322評論 0 17
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,544評論 19 139
  • 奧運如期而至。坦白講,比起足球,我對大部分奧運項目熱情不夠,也只是看看新聞,聽聽身邊人神侃。但是,最近好多人說,今...
    萌芽兒MoodYard閱讀 425評論 2 6
  • 談過網(wǎng)絡(luò)關(guān)系,覺得那一瞬間揭開一個人.面具好可怕, 1. 有一次我準(zhǔn)備去找她們一個keep的大姐姐加的微信,她把我...
    雅nmmm閱讀 543評論 2 1
  • 一切似乎是最好的安排,就如寫寫團定在了今天這個特別的日子開始。 對于父母健在的我來說,清明節(jié)于我沒有太多的感傷,一...
    微笑的周周閱讀 368評論 0 1

友情鏈接更多精彩內(nèi)容