2014-07-24 37 views
1

我正在Matlab中開發一個GUI,我想知道單擊按鈕時的工作流程。更具體一點,我想知道當我點擊一個按鈕時會發生什麼,因爲它的回調沒有被觸發。GUI工作流命令

+1

你的意思是標準按鈕,如縮放等等?如果你知道發生了什麼,請寫下一些內容。我也會感興趣。 +1 – patrik

回答

0

如果使用GUIDE開發,每次添加一個按鈕,你的GUI生成的代碼塊:

% --- Executes on button press in pushbutton1. 
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) 

該功能被稱爲每次按下該按鍵的時間。所以,如果你點擊按鈕時需要執行某些操作,只需要在生成的代碼塊下面添加要執行的代碼行即可。例如,假設你有一個edit text變量稱爲edit1與價值

edit1 = 'hello'; 

如果你想用它,你需要調用handles互動,但首先你需要創建一個全局變量:

%set the current figure handle to main application data 
setappdata(0,'figureHandle',gcf); 
%set the handles to figure's application data 
setappdata(gcf,'EDIT1',handles.edit1); 

然後,在你的按鈕的回調函數,你需要寫:

% --- Executes on button press in pushbutton1. 
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) 
figureHandle = getappdata(0,'figureHandle'); 
EDIT1 = getappdata(figureHandle,'EDIT1 '); 
new_string = 'updated string'; 
set(EDIT1, 'String', new_string); 

希望這有助於

+1

謝謝,但這不是我所期待的。 我的意思是,如果一旦開發了GUI,就可以通過Matlab命令知道工作流程,信息如何在函數中傳遞。就像'探查器'一樣,但是用於互動。 – YisasL

+0

你的意思是這樣的:http://www.mathworks.es/es/help/matlab/creating_guis/share-data-among-callbacks.html? –

+0

不完全,但可能有用。 我需要一個命令,爲您提供一個帶有箭頭或類似圖形的圖形,顯示函數何時被調用以及它的去向等等。 – YisasL