How can I fix my uicontrol script?
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Prajit T R
2018 年 4 月 12 日
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 件のコメント
Walter Roberson
2018 年 4 月 12 日
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.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Migrate GUIDE Apps についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!