Callback in push button doesn't work

1 次查看(过去 30 天)
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-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 CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by