Updating variable matrix values to static boxes in GUI !

2 次查看(过去 30 天)
Iam completely new to GUI and programming any correction to code is appreciated !
I am trying to assign the value of variable x in another matfile named "main_file_Run" to static boxs !
For eg: varible x =[32, 7] and keeps updating and i when i press pushbutton it should run the matlab file needs to assign the values upated in x matrix i.e 32 nd 7 to two respective static boxes with tag names text3 and tex4 respectively.
function pushbutton1_Callback(hObject, eventdata, handles)
% a= get(handles.main_file_Run(variable x),'string');
% (set(handles.text3,'string'))
main_file_Run();
I know i completely missed the logic here ! I am only able to run the program by calling the matfile but have no clue what to do to update the values from the variables x to the two static boxes .Firstly how do we load the varible ? should we save it as text file then kind of load into the call back of pushbutton ?
thanks in advance!

回答(1 个)

Kevin Phung
Kevin Phung 2019-5-3
编辑:Kevin Phung 2019-5-3
make sure your function main_file_run() actually has an output, so in that function:
function x = main_file_run()
% blah blah blah
x = (some answer from calculations above)
end
then in your pushbutton callback:
function pushbutton1_Callback(hObject, eventdata, handles)
x = main_file_Run();
set(findobj(gcf,'Tag','text3'),'String',num2str(x(1)))
set(findobj(gcf,'Tag','text4'),'String',num2str(x(2)))
end
note :
  1. how the static text boxes display strings and not numerics.
  2. I'm finding the static textboxes through their given Tag properties (i hope you did mean this, and not their variable names defined in another function) in the current figure (gcf))
  3. For future reference, if you don't want to use gcf and want to look at a particular figure, you can try do do:
f = findobj(groot,'Name','FigureTitle') % returns figure handle of figure with specified name
  16 个评论
Rik
Rik 2019-5-4
Somewhere some function is closing your GUI. You can use the debugger to set a breakpoint and go through your code line by line to see where your GUI is being closed.
chamant swarup
chamant swarup 2019-5-5
X = main_file_Run();
handles.text3.String = num2str(X(1));
handles.text4.String = num2str(X(2));
I changed the code to this and it worked fine !!
thanks for the help people !!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Graphics Object Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by