Making a button display a value in a message box
7 次查看(过去 30 天)
显示 更早的评论
I have a button that produces a value and puts it in a listbox. I would like to add a new button that displays that value in a message box. Please help!
3 个评论
Edwin Froelich
2018-6-15
Hello Jan,
The value produced is a mean. One button calculates that mean and I would like to store that value and retrieve it on call from a different button. I tried declaring a global variable but matlab didn't like when I did that. I am working in guide but I am trying to edit the code part of it to pass the value around.
Adam
2018-6-15
I use the guidata approach when using GUIDE and attach things to the handles struct.
回答(1 个)
Jan
2018-6-16
Global variables are a bad programming practice, which can cause serious troubles and which impede the debugging massively. Therefore it is recommended to avoid globals - not only in Matlab, but in other programming languages also.
You can store data inside a GUI, e.g. in the UserData of the figure or any object, or in the ApplicationData. The latter works e.g. with guidata:
function OpeningFcn(hObject, EventData, handles)
% Define a default value:
handles.MeanValue = 'undefined';
% Store updated struct in the figure's ApplicationData:
guidata(hObject, handles);
end
function button1_callback(hObject, EventData, handles)
% Update the field MeanValue in the handles struct:
handles.MeanValue = mean(handles.Data);
% Store updated struct in the figure's ApplicationData:
guidata(hObject, handles);
end
function button2_callback(hObject, EventData, handles)
disp(handles.MeanValue);
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interactive Control and Callbacks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!