1. 程式人生 > >【matlab】關於uiwait和uiresume兩個函式的理解及用途

【matlab】關於uiwait和uiresume兩個函式的理解及用途

uiwait和uiresume兩個函式,在編寫GUI相應程式碼時,是非常有用的兩個函式,他們的主要用途,通俗的來說,就是當程式執行到uiwait時,程式會處於等待中,知道遇到uiresume函式,才會執行uiwait之後的程式。

這一點在多個GUI介面進行資料傳遞時,起到了非常重要的作用,下面我們就以一個小例子,來了解一下uiwait和uiresume兩個函式的作用,希望大家能夠舉一反三,在以後的程式設計中活用這兩個函式。

介面如附圖,當我們輸入相加的兩個資料以後,我們點選運算時,雖然結果已經運算出來,但是由於“運算”按鈕的callback中有uiwait函式,所以,程式不會繼續往下執行,而是處於等待狀態;只有當遇到uiresume函式時,即我們點選“顯示”按鈕時,才會顯示出計算結果。因為“顯示”按鈕allback中有uiresume函式。



“運算”按鈕的callback函式程式碼:

function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
val_1=str2double(get(handles.edit1,'string'));
val_2=str2double(get(handles.edit2,'string'));
val_3=val_1+val_2;
uiwait(handles.figure1);%執行到此處,將暫停,知道遇到uiresume函式,才繼續往下執行
set(handles.edit3,'string',num2str(val_3));


“退出”按鈕的callback函式程式碼:

function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
close(gcf);


“顯示”按鈕的callback函式程式碼:

function pushbutton4_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton4 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
uiresume(handles.figure1);