2013-04-24 103 views
1

有什么办法可以让用户在matlab gui中给出大小的对象(按钮,静态文本,字段等)数组?在matlab中创建一个按钮数组GUI

例如,用户在字段中键入12,然后创建12个按钮。

P.S. mathworks.com不允许我访问它的页面。一些幼稚的政治东西:& 请在这里回答。 Thanx!

+0

是否要显示正在显示的对话框上的按钮?你需要提供更多的细节。你有什么尝试? – Floris 2013-04-24 06:03:32

+0

我以前没有用过matlab gui。 我将得到一个表达式作为输入,并为表达式中的每个变量放置一个字段,以便用户可以输入它的值。解析表达式之前未知的变量数。所以我必须在解析后生成字段(在运行时)。我的意思是如果表达式有一个变量,我必须把一个字段,如果它有5个变量,那么我必须把5个字段。 – Ehsan 2013-04-24 06:16:55

+0

只是问 - 它必须是一个GUI?难道你不能只是说:“为X输入值”,“为blabla输入值”等等 - 根据需要,从命令行? – Floris 2013-04-24 06:21:46

回答

5

你可以尝试这样的事情:

N = input('How many buttons? '); 

hFig = figure; 

hGroup = uibuttongroup('Units','Normalized','Position',[0 0 1 1]); 

for i = 1:N 
    hText(i) = uicontrol('Style','Text','String',['Variable' num2str(i)],... 
     'Parent',hGroup,'Units','normalized','Position',[0 1-i/(N+1) 1/2 1/(N+1)],... 
     'BackgroundColor','white'); 
    hInput(i) = uicontrol('Style','edit',... 
     'Parent',hGroup,'Units','normalized','Position',[1/2 1-i/(N+1) 1/2 1/(N+1)],... 
     'BackgroundColor','white'); 
end 

hButton = uicontrol('Style','pushbutton','Parent',hGroup,'Units','normalized',... 
    'String','Go!','Position',[0 0 1 1/(N+1)],'Callback',{}); 

当然,你可以玩的位置等,你可以把uibuttongroup无论你想输入字段出现。

+0

是的,这就是我需要的! 我没有足够的代表投票了:( – Ehsan 2013-04-24 07:13:16