Создайте диалоговое окно подтверждения
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
возвращает выбор в виде вектора символов.
CloseFcn
Коллбэк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
отображается в Командном окне.
CloseFcn
Коллбэк в App DesignerЧтобы создать диалоговое окно подтверждения в 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));
Сохраните и запустите приложение. Когда пользователь инициирует коллбэк, который создает диалоговое окно, диалоговое окно отображается в приложении.
fig
- Целевой рисунокFigure
объектЦелевой рисунок, заданная как Figure
объект. Рисунок должна быть создана с uifigure
функция.
message
- Отображаемое сообщениеСообщение для отображения, заданное как вектор символов, массив ячеек из векторов символов или строковые массивы. Задайте массив ячеек или строковые массивы, когда ваше сообщение имеет несколько линии текста. Каждый элемент массива соответствует другой линии текста.
title
- Заголовок диалогового окнаЗаголовок диалогового окна, заданный как вектор символов или строковый скаляр.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
selection = uiconfirm(fig,message,title,'Options',{'Save','Delete','Quit'})
задает три пользовательские опции для диалогового окна.'Options'
- Пользовательские опции{'OK','Cancel'}
(по умолчанию) | массив ячеек из векторов символов | строковых массивовПользовательские опции, заданные как массив ячеек из векторов символов или строковые массивы.
'Icon'
- Значок'question'
(по умолчанию) | предопределенный значок | пользовательский значокЗначок, заданный как предопределенный значок или пользовательский значок.
В этой таблице перечислены значения для предопределенных значков. Для примера, чтобы показать значок флажка, задайте пару "имя-значение" 'Icon','success'
.
Значение | Значок |
---|---|
'question' (по умолчанию) |
|
'info' |
|
'success' |
|
'warning' |
|
'error' |
|
'' | Значок не отображается. |
Задайте пользовательский значок как одно из следующих значений:
Вектор символов, задающая имя файла SVG, JPEG, GIF или PNG изображения, который находится в пути MATLAB. Кроме того, можно задать полный путь к файлу изображения.
Массив изображений truecolor. Дополнительные сведения см. в разделе Типы изображений.
'DefaultOption'
- Опция по умолчанию1
(по умолчанию) | вектор символов | строковый скаляр | целое числоОпция по умолчанию, заданная как вектор символов, строковый скаляр или целое число. Опция по умолчанию соответствует кнопке в диалоговом окне, которая имеет особое внимание по умолчанию.
Когда вы задаете вектор символов или строковый скаляр, он должен совпадать с элементом в Options
массив. Однако, если вы звоните uiconfirm
без Options
аргумент, затем DefaultOption
должен быть 'OK'
или 'Cancel'
.
Когда вы задаете целое число, оно должно быть в области значений [1, n], где n - длина Options
массив. Если вы звоните uiconfirm
без Options
аргумент, затем DefaultOption
должен быть 1
или 2
.
'CancelOption'
- Отмена опции2
(по умолчанию) | вектор символов | строковый скаляр | целое числоОтмена опции, заданная как вектор символов, строковый скаляр или целое число. Опция cancel определяет, какие опции сопоставлены для отмены действий в диалоговом окне.
Когда вы задаете вектор символов или строковый скаляр, он должен совпадать с элементом в Options
массив. Однако, если вы звоните uiconfirm
без Options
аргумент, затем CancelOption
должен быть 'OK'
или 'Cancel'
.
Когда вы задаете целое число, оно должно быть в области значений [1, n], где n - длина Options
массив. Если вы звоните uiconfirm
без Options
аргумент, затем CancelOption
должен быть 1
или 2
.
'CloseFcn'
- Закрыть функцию обратного вызова''
(по умолчанию) | указатель на функцию | массив ячеек | вектор символовЗакройте функцию обратного вызова, заданную в качестве одного из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Этот коллбэк полезен для выполнения определенных задач при закрытии диалогового окна.
Когда вы задаете CloseFcn
как указатель на функцию (или массив ячеек, содержащий указатель на функцию), MATLAB передает struct
содержит данные о событиях как входной параметр к функции обратного вызова. Этот struct
содержит поля, описанные в следующей таблице.
Структурное поле | Значение |
---|---|
Source | Figure объект, сопоставленный с диалоговым окном. |
EventName | 'ConfirmDialogClosed' |
DialogTitle | Заголовок диалогового окна. |
SelectedOptionIndex | Индекс выбранной опции. Для n опции, индекс может быть любым целым числом от 1 на n . |
SelectedOption | Метка кнопки для выбранной опции, возвращенная как вектор символов. |
questdlg
| uialert
| uifigure
| uiprogressdlg
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.