【问题标题】:Create an array of buttons in matlab GUI在 matlab GUI 中创建一组按钮
【发布时间】:2013-04-24 05:50:45
【问题描述】:

有什么方法可以制作一个对象数组(按钮、静态文本、字段等),其大小由用户在 matlab gui 中给出?

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

附: mathworks.com 不允许我访问它的页面。一些幼稚的政治内容:& 请在这里回答。 谢谢!

【问题讨论】:

  • 您想要正在显示的对话框上的按钮吗?你需要提供更多细节。你试过什么?
  • 我之前没用过matlab gui。我将获取一个表达式作为输入,并在表达式中为每个变量放置一个字段,以便用户可以输入它的值。在解析表达式之前未知的变量数。所以我必须在解析后(在运行时)生成字段。我的意思是如果表达式有一个变量,我必须放一个字段,如果它有 5 个变量,那么我必须放 5 个字段。
  • 只是问 - 它必须是 GUI 吗?您不能在需要时从命令行说:“为 X 输入值”、“为 blabla 输入值”等?
  • 是的。它应该是 GUI。

标签: matlab user-interface matlab-guide


【解决方案1】:

你可以试试这样的:

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 放在您希望输入字段出现的任何位置。

【讨论】:

  • 是的,这就是我所需要的!我没有足够的代表来投票:(
猜你喜欢
  • 2012-11-04
  • 1970-01-01
  • 2013-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-15
  • 2015-04-06
  • 1970-01-01
相关资源
最近更新 更多