[問題] GUI callback即時回傳while迴圈內的變數

看板MATLAB作者 (如果這就是愛..)時間9年前 (2016/04/20 14:00), 9年前編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
各位大大好,小弟需求是這樣... 1. GUI上有兩個pushbutton: start & pause以及一個edit text 2. 按下start,對螢幕上的某數值X做影像辨識,X會隨時間改變,所以我用while loop 直到X>300才跳出迴圈,在迴圈執行的同時,我想把每次辨識到的X顯示在edit text 3. 按下Pause可以暫停影像辨識 遇到的問題是這樣... Q1. 我在function start_callback裡面寫 handles.pauseflag = 0; %判別pause為true or false   while X = ocr(); %ocr為影像辨識函式 set(handles.edittext, 'String', num2str(X)); if X>300, break; elseif handles.pauseflag==1, %pause為true break; end end 結果是必須等while迴圈跑完,才會顯示最後一筆X在edit text, 並不如我預期,即時顯示每一筆X,請問我該加什麼敘述? Q2. 我在function pause_callback裡面寫 handles.pauseflag = 1; guidata(hObject, handles); 結果完全無法停止while迴圈,請問我需要加入甚麼敘述? 小弟想了一整夜,實在找不到方法,懇請各位大大賜教,謝謝 ********** 解答 *********** http://stackoverflow.com/questions/28364243/stop-a-gui-in-a-middle-of-process-in-matlab *************************** -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.240.158.124 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1461132010.A.EDE.html ※ 編輯: chris0104 (123.240.158.124), 04/20/2016 14:17:00 ※ 編輯: chris0104 (123.240.158.124), 04/20/2016 14:21:25 ※ 編輯: chris0104 (123.240.158.124), 04/20/2016 14:21:48 ※ 編輯: chris0104 (123.240.158.124), 04/20/2016 14:25:40 ※ 編輯: chris0104 (123.240.158.124), 04/20/2016 19:34:31 ※ 編輯: chris0104 (123.240.158.124), 04/20/2016 19:34:57

04/22 08:56, , 1F
drawnow 即可即時顯示迴圈
04/22 08:56, 1F

04/22 08:57, , 2F
的內容在UI上
04/22 08:57, 2F
文章代碼(AID): #1N5nhgxU (MATLAB)
文章代碼(AID): #1N5nhgxU (MATLAB)