exponenta event banner

uiconfirm

Диалоговое окно «Создание подтверждения»

Описание

uiconfirm(fig,message,title) отображает модальное диалоговое окно подтверждения в приложении на указанном целевом рисунке. Целевой показатель должен быть создан с помощью uifigure функция. В этом синтаксисе отображаются два варианта выбора: OK и Cancel. Рисунок за диалоговым окном недоступен, пока отображается диалоговое окно, но доступна командная строка MATLAB ®.

пример

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

пример

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

Примеры

свернуть все

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

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

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

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

fig = uifigure;
msg = 'Saving these changes will overwrite previous changes.';
title = 'Confirm Save';
selection = uiconfirm(fig,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.

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

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

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

Начните с выбора «Просмотр кода». Затем создайте частную функцию, выбрав 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 аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: selection = uiconfirm(fig,message,title,'Options',{'Save','Delete','Quit'}) задает три пользовательских параметра для диалогового окна.

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

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

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

В этой таблице перечислены значения предварительно определенных значков. Например, чтобы показать значок флажка, укажите пару имя-значение 'Icon','success'.

СтоимостьСимвол
'question' (по умолчанию)

'info'

'success'

'warning'

'error'

''Значок не отображается.

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

Укажите пользовательский значок в качестве одного из следующих значений:

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

  • Массив изображений truecolor. Дополнительные сведения см. в разделе Типы изображений.

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

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

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

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

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

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

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

  • Дескриптор функции.

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

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

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

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

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

См. также

| | |

Представлен в R2017b