【发布时间】:2019-03-20 15:49:44
【问题描述】:
我有一个带有 14 个复选框的弹出窗口(我在我的 GUI 中单击一个按钮,另一个带有复选框的窗口打开,我检查我需要的那些并关闭它)并且我想设置它们的值,如果它们已经检查。
我为复选框的值使用了 14 个全局变量,并使用此解决方案来设置它们的值(这样,当我重新打开窗口时,我会看到选中了哪个复选框)
function figure_checkboxes_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
global checkbox1
global checkbox2 %...to 14
if checkbox1 == 1
set(handles.checkbox1,'Value',1);
end
if checkbox2 == 1
set(handles.checkbox2,'Value',1);
end
% 14 if statement for each checkbox
很明显,当我定义global checkbox1 时,是因为我有一个按钮可以获取每个复选框的值(即checkbox1 = get(handles.checkbox1,'Value');)
有没有更聪明、更简洁的方法来避免十四个 if 语句?
【问题讨论】:
-
图中是否只包含14个复选框?如果是这样,GUIDE 没有任何帮助解决问题,因此您最好了解如何使用代码将复选框添加到图形,然后应该更清楚如何在 14 阶段循环中执行此操作。跨度>
标签: matlab matlab-guide