0

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

一个典型的场景是用户将输入一些输入,并根据这个数字,我想生成一些编辑文本框。

4

2 回答 2

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

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

关于你信息的最后一部分,我不明白:

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

于 2012-11-09T09:58:45.667 回答
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
于 2012-11-07T22:09:19.860 回答