Callback in push button doesn't work

1 回表示 (過去 30 日間)
mat
mat 2016 年 2 月 4 日
回答済み: mat 2016 年 2 月 9 日
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 日
Seems like drawnow did the trick.

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2016 年 2 月 4 日
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.

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

カテゴリ

Help Center および File ExchangeInteractive Control and Callbacks についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by