Callback in push button doesn't work

Hey I have a simple if function that I want to start with a GUI pushbutton. It only works when I put uiwait before the if (local function) and the uiresume in in the callback function. In debug mode it works without it. How can I preclude using uiwait?
Matlab function
run GUI.m
global start
while true
uiwait;
if start
...
end
end
My GUI pushbutton callback function:
% --- Executes on button press in pushbuttonstart.
function pushbuttonstart_Callback(hObject, eventdata, handles)
% hObject handle to pushbuttonstart (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global start
start=true;
uiresume;

2 件のコメント

Ingrid
Ingrid 2016 年 2 月 4 日
your question is not really clear as the code you past is not a function. Could you give a bit more information and code i.e. the actual pushbutton callback and explain what you are trying to achieve
mat
mat 2016 年 2 月 4 日
I updated the code

サインインしてコメントする。

 採用された回答

mat
mat 2016 年 2 月 9 日

0 投票

Seems like drawnow did the trick.

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2016 年 2 月 4 日

0 投票

If you have code that needs to delay until a button is pushed, then you should put the code itself (or a call to it) into the callback of the pushbutton.

1 件のコメント

mat
mat 2016 年 2 月 4 日
編集済み: mat 2016 年 2 月 4 日
code should still be running in a while loop, I don't want to have delay. But atm the if function only works when using uiwait.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeInteractive Control and Callbacks についてさらに検索

質問済み:

mat
2016 年 2 月 4 日

回答済み:

mat
2016 年 2 月 9 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by