inputdlg

Создайте диалоговое окно, чтобы собрать ввод данных пользователем

Описание

пример

answer = inputdlg(prompt) создает модальное диалоговое окно, содержащее одно или несколько текстовых полей редактирования, и возвращает значения, вводимые пользователем. Возвращаемые значения являются элементами массива ячеек из символьных векторов. Первый элемент массива ячеек соответствует ответу в поле редактирования наверху диалогового окна. Второй элемент соответствует следующему ответу поля редактирования и так далее.

пример

answer = inputdlg(prompt,dlgtitle) задает заголовок для диалогового окна.

пример

answer = inputdlg(prompt,dlgtitle,dims)задает высоту каждого поля редактирования когда dims скалярное значение. Когда dims массив, первое значение в каждом элементе массива устанавливает высоту поля редактирования. Второе значение в каждом элементе массива устанавливает ширину поля редактирования.

пример

answer = inputdlg(prompt,dlgtitle,dims,definput) задает значение по умолчанию для каждого поля редактирования. definput входной параметр должен содержать то же число элементов как prompt.

пример

answer = inputdlg(prompt,dlgtitle,dims,definput,opts)указывает, что диалоговое окно изменяемого размера в горизонтальном направлении когда opts установлен в 'on'. Когда opts структура, она задает, изменяемого размера ли диалоговое окно в горизонтальном направлении, модально ли это, и ли prompt текст интерпретирован.

Примеры

свернуть все

Создайте диалоговое окно, которое содержит два текстовых поля редактирования, чтобы получить входные параметры имени целочисленной и палитры от пользователей.

prompt = {'Enter matrix size:','Enter colormap name:'};
dlgtitle = 'Input';
dims = [1 35];
definput = {'20','hsv'};
answer = inputdlg(prompt,dlgtitle,dims,definput)

x = inputdlg({'Name','Telephone','Account'},...
              'Customer', [1 50; 1 12; 1 7]); 

Создайте диалоговое окно, задав значение в структуре опций.

Используйте структуру опций, чтобы задать TeX, чтобы быть интерпретатором.

prompt = {'Enter a value of \theta (in degrees)'};
dlgtitle = 'Theta Value';
definput = {'30'};
opts.Interpreter = 'tex';
answer = inputdlg(prompt,dlgtitle,[1 40],definput,opts);

Пользователи могут ввести скалярные или векторные значения в inputdlg текстовые поля редактирования. MATLAB® хранит вход как массив ячеек из символьных векторов. Преобразуйте члена входного массива ячеек к номеру, с помощью str2num.

Создайте входное диалоговое окно, которое просит, чтобы пользователи ввели числовые данные.

answer = inputdlg('Enter space-separated numbers:',...
             'Sample', [1 50])

Предположим, что пользователь вводит 1 2 3 4 -5 6+7, и затем нажимает OK. MATLAB хранит ответ как массив ячеек из символьных векторов – {'1 2 3 4 -5 6+7'}

Используйте str2num преобразовывать массив ячеек в цифры.

user_val = str2num(answer{1})
user_val =

     1     2     3     4    -5    13

Входные параметры

свернуть все

Текстовые метки поля редактирования, заданные как вектор символов, массив ячеек из символьных векторов или массив строк. Для массивов ячеек и строковых массивов, каждый элемент задает метку поля редактирования. Оба типа массивов задают последовательность от начала до конца полей редактирования в диалоговом окне.

Пример: {'First Name','Last Name'}

Заголовок диалогового окна, заданный как вектор символов или скаляр строки.

Пример: 'Data'

Текстовая высота поля редактирования и ширина (размерности), заданные как одно из этих значений:

  • Если dims скаляр, затем он задает высоту для всех полей редактирования. Высота является расстоянием между базовыми линиями двух линий текста. Ширина для всех полей редактирования является максимумом, который позволяет диалоговое окно.

  • Если dims вектор-столбец или вектор-строка, затем каждый элемент задает высоту каждого соответствующего поля редактирования от верхней части до нижней части диалогового окна. Ширина для всех полей редактирования является максимумом, который позволяет диалоговое окно.

  • Если dims массив, затем это должен быть размер m-2, где m является количеством подсказок в диалоговом окне. Каждая строка относится к полю редактирования для соответствующей подсказки. Первый столбец задает высоту поля редактирования в линиях текста. Второй столбец задает ширину того поля редактирования в символьных модулях. Ширина символьного модуля равняется ширине буквы x при использовании системного шрифта.

Примечание

За одним исключением высота и ширина полей редактирования не ограничивают сумму текста, который могут ввести пользователи. Когда высота поля редактирования равняется 1, пользователи не могут ввести несколько линий текста.

Пример 2

Пример: [1;2]

Пример: [1 50; 2 10]

Входное значение по умолчанию или значения, заданные как массив ячеек из символьных векторов или массив строк.

Пример: {'Color','1'}

Настройки диалогового окна, заданные как 'on' или структура. Когда opts установлен в 'on', затем пользователи могут изменить размер диалогового окна в горизонтальном направлении. Когда opts структура, поля структуры задают опции в следующей таблице.

Поле

Значения

Resize

'off' (значение по умолчанию) или 'on'. Если установлено в 'off', затем пользователи не могут изменить размер диалогового окна. Если 'on', затем пользователи могут изменить размер окна горизонтально.

WindowStyle

'modal' (значение по умолчанию) или 'normal'. Если установлено в 'modal', затем пользователи не могут взаимодействовать с другими окнами перед ответом.

Interpreter

'none' (значение по умолчанию) или 'tex'. Если установлено в 'tex', затем подсказка представляется с помощью Техаса. Заголовок диалогового окна не затронут.

Используйте синтаксис TeX, чтобы добавить верхние индексы и индексы, изменить тип шрифта и окрасить и включать специальные символы в prompt текст.

Модификаторы остаются в силе до конца текста. Верхние индексы и индексы являются исключением, потому что они изменяют только следующий символ или символы в фигурных скобках. Когда вы устанавливаете Interpreter свойство к 'tex', поддерживаемые модификаторы следующие.

МодификаторОписаниеПример
^{ }Верхний индекс'text^{superscript}'
_{ }Индекс'text_{subscript}'
\bfBold font'\bf text'
\itКурсивный шрифт'\it text'
\slНаклонный шрифт (обычно то же самое как курсивный шрифт)'\sl text'
\rmОбычный шрифт'\rm text'
\fontname{specifier}}Название шрифта — Замена specifier с именем семейства шрифтов. Можно использовать это в сочетании с другими модификаторами.'\fontname{Courier} text'
\fontsize{specifier}}Размер шрифта — Замена specifier со значением числового скаляра в модулях точки.'\fontsize{15} text'
\color{specifier}}Цвет шрифта — Замена specifier с одним из этих цветов: red, green, yellowПурпурный, blue, black, whiteсерый, darkGreen, orange, или lightBlue.'\color{magenta} text'
\color[rgb]{specifier}Цвет пользовательского шрифта — Замена specifier с трехэлементным триплетом RGB.'\color[rgb]{0,0.5,0.5} text'

Эта таблица приводит поддерживаемые специальные символы с Interpreter набор свойств к 'tex'.

Последовательность символовСимволПоследовательность символовСимволПоследовательность символовСимвол

\alpha

α

\upsilon

υ

\sim

~

\angle

\phi

\leq

\ast

*

\chi

χ

\infty

\beta

β

\psi

ψ

\clubsuit

\gamma

γ

\omega

ω

\diamondsuit

\delta

δ

\Gamma

Γ

\heartsuit

\epsilon

ϵ

\Delta

Δ

\spadesuit

\zeta

ζ

\Theta

Θ

\leftrightarrow

\eta

η

\Lambda

Λ

\leftarrow

\theta

θ

\Xi

Ξ

\Leftarrow

\vartheta

ϑ

\Pi

Π

\uparrow

\iota

ι

\Sigma

Σ

\rightarrow

\kappa

κ

\Upsilon

ϒ

\Rightarrow

\lambda

λ

\Phi

Φ

\downarrow

\mu

µ

\Psi

Ψ

\circ

º

\nu

ν

\Omega

Ω

\pm

±

\xi

ξ

\forall

\geq

\pi

π

\exists

\propto

\rho

ρ

\ni

\partial

\sigma

σ

\cong

\bullet

\varsigma

ς

\approx

\div

÷

\tau

τ

\Re

\neq

\equiv

\oplus

\aleph

\Im

\cup

\wp

\otimes

\subseteq

\oslash

\cap

\in

\supseteq

\supset

\lceil

\subset

\int

\cdot

·

\o

ο

\rfloor

\neg

¬

\nabla

\lfloor

\times

x

\ldots

...

\perp

\surd

\prime

´

\wedge

\varpi

ϖ

\0

\rceil

\rangle

\mid

|

\vee

\langle

\copyright

©

Пример: 'on'

Пример: opts.Resize = 'on'

Пример: opts.WindowStyle = 'normal'

Пример: opts.Interpreter = 'tex'

Выходные аргументы

свернуть все

Возвращает массив ячеек из символьных векторов, содержащий один вход на поле редактирования, начинающее с верхней части диалогового окна. Используйте str2num функционируйте, чтобы преобразовать разграниченные пробелом и разграниченные запятой значения в векторы-строки и разграниченные точкой с запятой значения в вектор-столбцы. Для примера смотрите, Преобразуют Вход в Числовые значения.

Если пользователь нажимает кнопку Cancel, чтобы закрыть диалоговое окно, то answer массив пустой ячейки, { }.

Если пользователь нажимает клавишу Return клавиатуры, чтобы закрыть диалоговое окно, то answer значение definput. Если definput не определено, затем answer массив пустой ячейки, { }.

Больше о

свернуть все

Модальное диалоговое окно

Модальное диалоговое окно препятствует тому, чтобы пользователь взаимодействовал с другими окнами MATLAB прежде, чем ответить на модальное диалоговое окно.

Советы

  • Выполнение программы MATLAB продолжается, даже когда модальное входное диалоговое окно активно. Чтобы блокировать выполнение программы, пока пользователь не ответит, используйте uiwait функция.

Пользователи могут ввести скалярные или векторные значения во Входные диалоговые окна. Используйте str2num преобразовывать разграниченные пробелом и разграниченные запятой значения в векторы-строки и преобразовывать разграниченные точкой с запятой значения в вектор-столбцы. Например, если answer{1} содержит '1 2 3;4 -5 6+7i', преобразование производит:

input = str2num(answer{1})
input =
   1.0000     2.0000     3.0000
   4.0000    -5.0000     6.0000 + 7.0000i

Смотрите также

|

Представлено до R2006a