questdlg

Создайте диалоговое окно вопроса

Если вы используете App Designer или создаете приложения с uifigure функцию, затем используйте uiconfirm вместо этого. Для получения дополнительной информации см. GUIDE Стратегии миграции.

Описание

answer = questdlg(quest) создает модальное диалоговое окно, которое представляет вопрос и возвращает ответ пользователя -- 'Yes', 'No', 'Cancel', или ''.

По умолчанию диалоговое окно имеет три стандартные кнопки: Да, Нет и Отмена.

  • Если пользователь нажимает одну из этих кнопок, то answer значение совпадает с меткой нажатой кнопки.

  • Если пользователь нажимает кнопку закрытия (X) в строке заголовка диалогового окна или нажимает клавишу Esc, answer значение является пустым символьным вектором ('').

  • Если пользователь нажимает клавишу Return, то answer значение совпадает с меткой при выборе кнопки по умолчанию. В этом случае 'Yes'.

answer = questdlg(quest,dlgtitle) задает заголовок диалогового окна.

answer = questdlg(quest,dlgtitle,defbtn) определяет, какая кнопка является кнопкой по умолчанию, если пользователь нажимает клавишу Return клавиатуры. The defbtn значение должно совпадать с одним из меток кнопок.

answer = questdlg(quest,dlgtitle,btn1,btn2,defbtn) настраивает две стандартные кнопки путем маркировки их значениями btn1 и btn2. Удаляется третья стандартная кнопка. The defbtn значение должно совпадать со значением btn1 или btn2.

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

пример

answer = questdlg(quest,dlgtitle,btn1,btn2,btn3,defbtn) настраивает третью стандартную кнопку с меткой, которая совпадает со значением btn3.

answer = questdlg(quest,dlgtitle,opts) задает структуру опций, чтобы задать выбор кнопки по умолчанию и использовать ли TeX для интерпретации текста вопроса.

answer = questdlg(quest,dlgtitle,btn1,btn2,opts) настраивает две стандартные кнопки с метками, которые совпадают со значениями btn1 и btn2. Удаляется третья стандартная кнопка.

пример

answer = questdlg(quest,dlgtitle,btn1,btn2,btn3,opts) настраивает третью стандартную кнопку с меткой, которая совпадает со значением btn3.

Примеры

Диалоговое окно «Закодируйте выбор пользователя как целое число в вопросе»

answer = questdlg('Would you like a dessert?', ...
	'Dessert Menu', ...
	'Ice cream','Cake','No thank you','No thank you');
% Handle response
switch answer
    case 'Ice cream'
        disp([answer ' coming right up.'])
        dessert = 1;
    case 'Cake'
        disp([answer ' coming right up.'])
        dessert = 2;
    case 'No thank you'
        disp('I''ll bring you your check.')
        dessert = 0;
end

Для доступа к возвращаемому значению, присвоенному dessert, сохраните пример как функцию. Для примера создайте функцию choosedessert делая это первой строкой кода.

function dessert = choosedessert

Формат вопроса в диалоговом окне с использованием TeX

opts.Interpreter = 'tex';
% Include the desired Default answer
opts.Default = 'Don''t know';
% Use the TeX interpreter to format the question
quest = 'Is \Sigma(\alpha - \beta) < 0?';
answer = questdlg(quest,'Boundary Condition',...
                  'Yes','No','Don''t know',opts)

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

свернуть все

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

Пример: 'What is the velocity?'

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

Пример: 'Configuration'

Выбор кнопки по умолчанию, заданный как вектор символов или строковый скаляр. Выбор кнопки по умолчанию является значением, которое MATLAB® возвращается, если пользователь нажимает клавишу Return клавиатуры вместо нажатия кнопки в диалоговом окне. Выбор по умолчанию должен совпадать с выбором одной из меток кнопки диалогового окна. Если на defbtn значение аргумента не совпадает с меткой кнопки, затем диалоговое окно остается открытым, если пользователь нажимает клавишу Enter клавиатуры.

Пример: 'Cancel'

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

Пример: 'Start'

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

Пример: 'Reset'

Третья настраиваемая метка кнопки, заданная как вектор символов или строковый скаляр.

Пример: 'Test'

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

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

Область

Значения

Default

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

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

Если на Default значение поля не совпадает с одним из меток кнопки, тогда диалоговое окно не реагирует на нажатие пользователем клавиши Enter клавиатуры.

Interpreter

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

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

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

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

В этой таблице перечислены поддерживаемые специальные символы для '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

©

Пример: opts.Default = 'Cancel'

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

Подробнее о

свернуть все

Диалоговое окно Modal

Модальное диалоговое окно препятствует взаимодействию пользователя с другими окнами MATLAB перед ответом.

См. также

|

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