在MATLAB GUIDE中动态创建编辑文本框

时间:2012-11-07 22:00:44

标签: matlab user-interface dynamic input matlab-guide

我想知道我们是否可以在运行期间确定MATLAB GUIDE中编辑文本框的数量?

典型情况是用户将输入多个输入,并根据此数字,我想生成一些编辑文本框。

2 个答案:

答案 0 :(得分:0)

我从未使用过GUIDE,但你可以像这样以编程方式创建uicontrols

f = figure;
nEdit = 10;

for i = 1:nEdit
   textEl(i) = uicontrol('Parent', f, 'Style', 'edit', 'Position', [0 (i-1)*30, 100, 20])
end

答案 1 :(得分:0)

您的问题分为3部分。

要回答你的问题标题“在matlab指南中动态创建编辑文本框”,我建议使用Slayton的解决方案并使用 n 编辑文本框提示创建一个新图形。如果你真的想要它在你的初始指南图中,另一个解决方案是最初禁用它们/使它们不可见。然后在输入导入功能的回调函数中,您可以决定要启用的编辑文本框的数量。

回答你的问题

  

我想知道我们是否可以在运行时确定matlab指南中编辑文本框的数量?

在运行期间,您可以通过这种方式计算“句柄”结构中的所有文本框:

hCell=struct2cell(handles);
a=0;
for i=1:length(hCell)
    if strcmp(get(hCell{i},'Type'),'uicontrol')
        if strcmp(get(hCell{i},'Style'),'edit')
            a=a+1;
        end
    end
end
a%number of edit boxes

你应该问一个“如果”更多,如果在你的“句柄”结构中你有一个非处理......

关于你留言的最后一部分,我不明白:

  

我不会生成许多编辑文本框。