GUI made without GUIDE not updating

I'm trying to make a GUI that pops up as soon as the main function starts and it contains a checkbox that can be used to stop the program when it is in a loop:
function mainFcn
h.fig = figure('Position', [100 100 100 100]);
h.cancelBox = uicontrol('Style', 'checkbox',...
'String', 'Cancel?',...
'Position', [10 10 10 10]);
set(h.cancelBox, 'callback', {@cancelBox, h});
drawnow;
i = 1;
while i == 1
value = get(h.cancelBox, 'Value');
if value == 1
i = 0;
else
i = 1;
end
end
function cancelBox(hObject, eventdata, handles)
set(hObject, 'Value', 1);
guidata(hObject, handles);
When I use disp(value); to see the value I am getting for the current value of the checkbox. It always says that the checkbox has a value of 0.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 5 de Ag. de 2015

0 votos

i == 0 is not an assignment statement.
Also your while loop is not giving an opportunity for any graphics interruptions. Graphics interruptions are only processed when there is a pause(), drawnow(), uiwait() or waitfor(), figure(), or the routine reaches the command prompt.

1 comentario

qward
qward el 5 de Ag. de 2015
The i == 0; was an typo I'm sorry about that. But I tried using drawnow() and it worked perfectly thank you.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Interactive Control and Callbacks en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 5 de Ag. de 2015

Editada:

el 5 de Ag. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by