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 Kommentare

Ingrid
Ingrid am 4 Feb. 2016
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 am 4 Feb. 2016
I updated the code

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

mat
mat am 9 Feb. 2016

0 Stimmen

Seems like drawnow did the trick.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 4 Feb. 2016

0 Stimmen

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 Kommentar

mat
mat am 4 Feb. 2016
Bearbeitet: mat am 4 Feb. 2016
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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Update figure-Based Apps finden Sie in Hilfe-Center und File Exchange

Gefragt:

mat
am 4 Feb. 2016

Beantwortet:

mat
am 9 Feb. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by