uiconfirm

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

Описание

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

пример

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

пример

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

Примеры

свернуть все

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

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

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

Создайте диалоговое окно подтверждения, содержащее три опции: Overwrite, Save as new и Cancel. Задайте Save as new как опцию по умолчанию и Cancel как опцию, которая соответствует поведению отмены.

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 возвращает выбор в виде вектора символов.

The 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.

Начните, выбрав 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 аргументы. 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