uiconfirm

(App Designer) Создает поле диалогового окна подтверждения

Используйте только для приложений App Designer, или при создавании приложений с функцией uifigure. При использовании GUIDE или создаете приложение с функцией figure, используйте questdlg вместо uiconfirm.

Синтаксис

uiconfirm(f,message,title)
uiconfirm(f,message,title,Name,Value)
selection = uiconfirm(___)

Описание

uiconfirm(f,message,title) отображается, модальное диалоговое окно подтверждения в приложении окружают плановый показатель f. Плановый показатель должен быть создан с функцией uifigure. Этот синтаксис отображает две опции для пользователя, чтобы выбрать, OK и Отмена. Фигура позади диалогового окна не доступна, в то время как диалоговое окно отображается, но командная строка MATLAB® доступна.

пример

uiconfirm(f,message,title,Name,Value) отображает поле диалогового окна подтверждения с одним или несколькими аргументами пары Name,Value, которые настраивают внешний вид и поведение диалогового окна. Например, можно задать пользовательский набор опций в диалоговом окне вместо значения по умолчанию, OK и Отмены.

пример

selection = uiconfirm(___) возвращает выбор пользователя как вектор символа. Задайте выходной аргумент selection с любым из предыдущих синтаксисов. Когда вы используете этот синтаксис, подсказка команды MATLAB не доступна, в то время как диалоговое окно отображается.

Примеры

свернуть все

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

f = uifigure;
selection = uiconfirm(f,'Close document?','Confirm Close',...
                        'Icon','warning');

Когда пользователь выбирает опцию, uiconfirm возвращает тот выбор как вектор символа.

Создайте диалоговое окно подтверждения, содержащее три опции: Перезапишите, Сохраните как новые, и Отмена. Задайте Сохраняют столь же новый как опция по умолчанию и задают Отмену как опцию, которая сопоставляет с поведением отмены.

f = uifigure;
msg = 'Saving these changes will overwrite previous changes.';
title = 'Confirm Save';
selection = uiconfirm(f,msg,title,...
           'Options',{'Overwrite','Save as new','Cancel'},...
           'DefaultOption',2,'CancelOption',3);

Когда пользователь выбирает опцию, uiconfirm возвращает их выбор как вектор символа.

Аргумент в виде пар "имя-значение" CloseFcn полезен для выполнения определенных задач, когда диалоговое окно закрывается.

В редакторе MATLAB создайте новую функцию под названием mycallback.m, который содержит следующий код. Эта функция обратного вызова отображает поле SelectedOption в struct по имени event. MATLAB автоматически передает этот struct в качестве второго аргумента к функции обратного вызова.

function mycallback(src,event)
   display(event.SelectedOption);
end

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

f = uifigure;
uiconfirm(f,'Close document?','Confirm Close',...
            'CloseFcn',@mycallback);

Когда пользователь выбирает опцию, значение отображений SelectedOption в Командном окне.

Чтобы создать диалоговое окно подтверждения окружают App Designer, который имеет обратный вызов CloseFcn, запишите обратный вызов как закрытую функцию в App Designer.

Запустите путем выбора Code View. Затем создайте закрытую функцию путем выбора Function> Private Function.

Затем, запишите закрытую функцию так, чтобы она совпадала с этим кодом:

function mycallback(app,src,event)
   display(event.SelectedOption);
end

Добавьте эту команду к функции обратного вызова, что вы хотите отобразить диалоговое окно. В этом случае плановым показателем является app.UIFigure, который является именем по умолчанию для фигуры в App Designer.

uiconfirm(app.UIFigure,'Close document?','Confirm Close',...
            'CloseFcn',@(src,event)mycallback(app,src,event));

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

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

свернуть все

Плановый показатель, заданный как объект Figure. Фигура должна быть создана с функцией uifigure.

Обменивайтесь сообщениями, чтобы отобразиться, заданный как вектор символа, массив ячеек из символьных векторов или массив строк. Задайте массив ячеек или массив строк, когда ваше сообщение будет иметь несколько строк текста. Каждый элемент в массиве соответствует различной строке текста.

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

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Имя должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: выбор = uiconfirm (f, сообщение, заголовок, 'Опции', {'Сохраняют', 'Удаляет', 'Выход'}) задает три пользовательских опции для диалогового окна.

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

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

Предопределенный значок

Эта таблица приводит значения для предопределенных значков. Например, чтобы показать значок галочки, задайте пару "имя-значение" 'Icon','success'.

ЗначениеЗначок
'question' (значение по умолчанию)

информация

'success'

Предупреждение

ошибка

''Никакие отображения значка.

Пользовательский значок

Задайте пользовательский значок как одно из этих значений:

  • Вектор символа, который задает имя файла SVG, JPEG, GIF или изображения PNG, которое находится на пути MATLAB. Также можно задать полный путь к файлу изображения.

  • Матрица изображений истинного цвета. Смотрите Типы изображения для получения дополнительной информации.

Опция по умолчанию, заданная как вектор символа, представляет в виде строки скаляр или целое число. Опция по умолчанию соответствует кнопке в диалоговом окне, которое фокусируется по умолчанию.

Когда вы задаете вектор символа или представляете скаляр в виде строки, это должно совпадать с элементом в массиве Options. Однако, если вы вызываете uiconfirm без аргумента Options, затем DefaultOption должен быть 'OK' или 'Cancel'.

Когда вы задаете целое число, это должно быть в области значений [1, n], где n является длиной массива Options. Если вы вызываете uiconfirm без аргумента Options, то DefaultOption должен быть 1 или 2.

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

Когда вы задаете вектор символа или представляете скаляр в виде строки, это должно совпадать с элементом в массиве Options. Однако, если вы вызываете uiconfirm без аргумента Options, затем CancelOption должен быть 'OK' или 'Cancel'.

Когда вы задаете целое число, это должно быть в области значений [1, n], где n является длиной массива Options. Если вы вызываете uiconfirm без аргумента Options, то CancelOption должен быть 1 или 2.

Закройте функцию обратного вызова, заданную как одно из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символа, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

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

Когда вы задаете CloseFcn как указатель на функцию (или массив ячеек, содержащий указатель на функцию), MATLAB передает struct, содержащий данные о событиях как входной параметр к функции обратного вызова. Этот struct содержит поля, описанные в следующей таблице.

Поле структурыЗначение
SourceОбъект Figure сопоставлен с диалоговым окном.
EventName'ConfirmDialogClosed'
DialogTitleЗаголовок диалогового окна.
SelectedOptionIndexИндекс выбранной опции. Для опций n индекс может быть любым целым числом от 1 до n.
SelectedOptionНазвание кнопки для выбранной опции, возвращенной как вектор символа.

Введенный в R2017b

Была ли эта тема полезной?