2013-04-24 3 views
1

Есть ли способ сделать массив объектов (кнопки, статические тексты, поля и т. Д.), Размер которых задан пользователем в matlab gui?Создать массив кнопок в matlab GUI

Например, пользовательские типы 12 в поле, а затем 12 кнопок.

P.S. mathworks.com не позволяет мне просматривать его страницы. какой-нибудь детский политический материал: & ответьте здесь. Thanx!

+0

Вы хотите, чтобы кнопки в диалоговом окне отображались? Вам нужно дать немного более подробную информацию. Что вы пробовали? – Floris

+0

Я раньше не использовал matlab gui. Я собираюсь получить выражение в качестве ввода и поместить поле для каждой переменной в выражении, чтобы пользователь мог ввести его значение. количество переменных, неизвестных до разбора выражения. поэтому я должен генерировать поля после разбора (во время выполнения). Я имею в виду, если выражение имеет одну переменную, я должен поставить одно поле, и если он имеет 5 переменных, тогда я должен поместить 5 полей. – Ehsan

+0

Просто спрашивайте - это должен быть графический интерфейс? Не можете ли вы просто сказать: «введите значение для X», «введите значение для blabla» и т. Д., Как возникает необходимость, из командной строки? – Floris

ответ

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

Смежные вопросы