How can I fix my uicontrol script?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Travis Ohlsen
el 9 de Abr. de 2018
Comentada: Walter Roberson
el 12 de Abr. de 2018
I am currently creating a program for a class project and am having trouble using the uicontrol. For this part of the project, I am using while loops to change between scripts based on what value is assigned to the variable exe. I first set exe=1 and then run the while loop; while exe==1. Inside the while loop, I want the script to create a figure with a push button. What I want is for the script to wait for the button to be pressed, and then once it is pressed, I want the window to close, and to set exe=2 so that the next part of the script will run.
Here is what I have for a script. The while loops work, but the script doesn't like the callback.
exe=1;
while exe==1
main_menu=uicontrol('Style','pushbutton','Position',[20 20 20 20],'String','Pong','Callback',@exe1);
while get(handles.main_menu,'Value')==1
close
exe=2;
end
end
function exe1
get(handles.main_menu,'Value');
end
The result is the figure popping up with the push button along with the error;
Undefined variable "handles" or class "handles.main_menu".
When I push the button is returns another error;
Undefined function 'exe1' for input arguments of type 'matlab.ui.control.UIControl'.
Error while evaluating UIControl Callback.
0 comentarios
Respuesta aceptada
Prajit T R
el 12 de Abr. de 2018
Hi Travis
The following code should do the trick.
global exe;
exe=1;
main_menu=uicontrol('Style','pushbutton','Position',[60 60 60 60],'String','Pong','Callback',@pushbutton_callback);
function pushbutton_callback(src,event)
global exe;
exe=exe+1;
close;
end
Cheers
3 comentarios
Walter Roberson
el 12 de Abr. de 2018
The code
while exe==1
main_menu=uicontrol('Style','togglebutton','Position',[20 20 100 100],'String','Pong','Callback',@setexe2);
end
means to loop indefinitely, and each iteration create a new uicontrol. The loop does not give any time for the graphics to be updated, and it adds all of the uicontrols onto the same position.
Más respuestas (0)
Ver también
Categorías
Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!