Создайте или обновление ожидают диалоговое окно панели
создает немодальное диалоговое окно, содержащее панель ожидания с заданным сообщением. Панель ожидания является дробной длиной f
= waitbar(x
,msg
)x
. Диалоговое окно остается открытым до кода, который управляет им, закрывает его, или пользователь кликает по близкой кнопке (X) в строке заголовка диалогового окна. Figure
объект возвращен как f
.
Используйте waitbar
функционируйте, если вы хотите показать диалоговое окно панели ожидания по нескольким окнам приложения, рабочему столу MATLAB® или Simulink® и все еще смочь взаимодействовать с ними прежде, чем ответить на диалоговое окно.
задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение", которые устанавливают f
= waitbar(x
,msg
,Name,Value
)figure
свойства на диалоговом окне. Например, 'Name','Progress'
определяет имя диалогового окна, чтобы Прогрессировать. Задайте аргументы пары "имя-значение" после всех других входных параметров.
waitbar(
обновляет длину панели в текущем диалоговом окне панели ожидания к x
)x
. Последовательные значения x
обычно увеличение. Если они уменьшаются, панель ожидания запускается наоборот.
Создайте диалоговое окно панели ожидания, которое обновляет дробную длину панели ожидания и сообщение в трех точках в коде.
Используйте этот код, чтобы симулировать выполнение долгого расчета. pause
функционируйте передает объект фигуры первого диалогового окна панели ожидания к последующему waitbar
вызовы функции. Передача фигуры возражает, что этот путь гарантирует, что диалоговое окно обновляется в каждой точке, а не воссоздается. Когда симулированное вычисление завершается, завершения диалогового окна.
function basicwaitbar f = waitbar(0,'Please wait...'); pause(.5) waitbar(.33,f,'Loading your data'); pause(1) waitbar(.67,f,'Processing your data'); pause(1) waitbar(1,f,'Finishing'); pause(1) close(f) end
Добавьте кнопку Cancel, чтобы позволить пользователю остановить происходящий расчет.
Используйте следующий код, чтобы сходиться на значении пи в for
итерации цикла, обновляя панель ожидания и сообщение с каждой итерацией. Когда пользователь нажимает кнопку Cancel, MATLAB устанавливает логический флаг, 'canceling'
, к 1 (TRUE) в данных приложения фигуры (appdata
). Код тестирует на то значение в цикле for и выходах цикл, если флаговым значением является 1
. Для получения дополнительной информации о данных приложения смотрите, Хранят Данные как Данные приложения.
Установите CreateCancelBtn
коллбэк к значению вектора символов. Эта практика не рекомендовала, если код, заданный значением, не прост, те, которые имеют место в этом коде коллбэка. Для получения дополнительной информации смотрите Запись обратных вызово для приложений, созданных программно.
function approxpi f = waitbar(0,'1','Name','Approximating pi...',... 'CreateCancelBtn','setappdata(gcbf,''canceling'',1)'); setappdata(f,'canceling',0); % Approximate pi^2/8 as: 1 + 1/9 + 1/25 + 1/49 + ... pisqover8 = 1; denom = 3; valueofpi = sqrt(8 * pisqover8); steps = 20000; for step = 1:steps % Check for clicked Cancel button if getappdata(f,'canceling') break end % Update waitbar and message waitbar(step/steps,f,sprintf('%12.9f',valueofpi)) % Calculate next estimate pisqover8 = pisqover8 + 1 / (denom * denom); denom = denom + 2; valueofpi = sqrt(8 * pisqover8); end delete(f) end
x
— Дробная длина панели ожиданияДробная длина панели ожидания в виде вещественного числа между 0
и 1
. Последовательные значения x
обычно увеличение. Если они уменьшаются, то панель ожидания запускается наоборот.
Пример: .75
msg
— Ожидайте сообщение панелиОжидайте сообщение панели в виде вектора символов, массива ячеек из символьных векторов или массива строк. Индикаторы сообщения в диалоговом окне, выше индикатора выполнения.
Если вы задаете сообщение как вектор символов, то длинное сообщение переносится, чтобы соответствовать диалоговому окну.
Если вы задаете сообщение как массив ячеек из символьных векторов, то разрывы строки находятся между каждым элементом массива. Длинные элементы переносятся, чтобы соответствовать диалоговому окну.
Пример: 'Please Wait'
Пример: {'Please wait', 'The operation is processing'}
f
— Объект FigureПолагайте, что объект ранее созданного ожидает диалоговое окно панели в виде выходной переменной, используемой, когда тот объект фигуры был создан.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'Name','Wait Bar'
Примечание
Свойства, перечисленные здесь, являются только подмножеством свойств, которые можно установить. Для полного списка смотрите Figure Properties.
'CreateCancelBtn'
— Коллбэк кнопки отменыКоллбэк кнопки Cancel в виде указателя на функцию, массива ячеек или вектора символов (не рекомендуемый). MATLAB устанавливает и коллбэк кнопки Cancel и фигуру CloseRequestFcn
значение коллбэка к командам задано callback
значение аргумента. Для получения дополнительной информации смотрите Запись обратных вызово для приложений, созданных программно.
Примечание
Вызовите delete
функция, чтобы удалить диалоговое окно панели ожидания, когда вы задаете CreateCancelBtn
'callback'. Когда вы задаете CreateCancelBtn
коллбэк, close
функция не закрывает диалоговое окно и делает Cancel и близкие кнопки (X) безразличными. Эта ситуация происходит потому что CreateCancelBtn
коллбэк рекурсивно вызывает себя. В такой ситуации необходимо насильственно удалить панель ожидания, например, с помощью кода, такого как это:
set(groot,'ShowHiddenHandles','on') delete(get(groot,'Children'))
Пример: waitbar(.5,'Processing','CreateCancelBtn',@myfun)
задает CreateCancelBtn
функция обратного вызова как указатель на функцию.
Пример: waitbar(.5,'Processing','CreateCancelBtn',{@myfun,x})
задает CreateCancelBtn
функция обратного вызова как массив ячеек. В этом случае функция принимает входной параметр, x
.
'Name'
Имя''
(значение по умолчанию) | вектор символов | строковый скалярИмя фигуры в виде вектора символов или строкового скаляра.
Пример: figure('Name','Results')
определяет имя фигуры к 'Results'
.
По умолчанию именем является 'Figure n'
, где n
целое число. Когда вы задаете Name
свойство, заголовок фигуры становится 'Figure n: name'
. Если вы хотите только Name
значение, чтобы появиться, установите IntegerHandle
или NumberTitle
к 'off'
.
'Position'
— Местоположение и размер области векторной и растровой графики[left bottom width height]
Местоположение и размер области векторной и растровой графики в виде вектора из формы [left bottom width height]
. Эта область исключает границы фигуры, строку заголовка, панель меню и панели инструментов.
Эта таблица описывает каждый элемент в Position
вектор.
Элемент | Описание |
---|---|
left | Расстояние от левого края главного дисплея к внутреннему левому краю окна. Это значение может быть отрицательным в системах, которые имеют больше чем один монитор. Если фигура прикрепляется, то это значение относительно панели фигуры в рабочем столе MATLAB. |
bottom | Расстояние от базового края главного дисплея к внутреннему базовому краю окна. Это значение может быть отрицательным в системах, которые имеют больше чем один монитор. Если фигура прикрепляется, то это значение относительно панели фигуры в рабочем столе MATLAB. |
width | Расстояние между правыми и левыми внутренними краями waitbar. |
height | Расстояние между верхними и нижними внутренними краями окна. |
Все измерения находятся в модулях, заданных Units
свойство.
Вы не можете задать фигуру Position
свойство, когда фигура прикрепляется.
В MATLAB Online™, bottom
и left
элементы Position
вектор проигнорирован.
Чтобы поместить полное окно, включая границы, строку заголовка, панель меню, панели инструментов, использует OuterPosition
свойство.
Примечание
Операционная система Windows® осуществляет минимальную ширину окна и максимальный размер окна. Если вы зададите размер фигуры за пределами тех пределов, отображенная фигура будет соответствовать пределам вместо размера, который вы задали.
'Units'
— Единицы измерения'pixels'
(значение по умолчанию) | 'normalized'
| 'inches'
| 'centimeters'
| 'points'
| 'characters'
Единицы измерения в виде одного из значений из этой таблицы.
Модульное значение | Описание |
---|---|
'pixels' (значение по умолчанию) | 'pixels'. Начиная в R2015b, расстояния в пикселях независимы от вашего системного разрешения по системам Макинтоша и Windows:
В системах Linux® размер пикселя определяется вашим системным разрешением. |
'normalized' | Эти модули нормированы относительно родительского контейнера. Нижний левый угол контейнера сопоставляет с (0,0) и верхний правый угол сопоставляет с (1,1) . |
'inches' | 'inches'. |
'centimeters' | 'centimeters'. |
'points' | 'points'. Одна точка равняется 1/72-й из дюйма. |
'characters' | Эти модули основаны на шрифте uicontrol по умолчанию графического корневого объекта:
Чтобы получить доступ к шрифту uicontrol по умолчанию, используйте |
MATLAB измеряет все модули от левого нижнего угла родительского объекта.
Это свойство влияет на Position
свойство. Если вы изменяете Units
свойство, полагайте, что возвращение его значения к значению по умолчанию после завершения вашего расчета старается не влиять на другие функции, которые принимают значение по умолчанию.
Порядок, в котором вы задаете Units
и Position
свойства оказывают эти влияния:
Если вы задаете Units
перед Position
свойство, затем MATLAB устанавливает Position
с помощью модулей вы задаете.
Если вы задаете Units
свойство после Position
свойство, MATLAB устанавливает положение с помощью Units
по умолчанию. Затем MATLAB преобразует
Position
значение к эквивалентной стоимости в модулях вы задаете.
'WindowStyle'
WindowStyle 'normal'
(значение по умолчанию) | 'modal'
| 'docked'
Стиль окна в виде одного из следующего:
'normal'
— Окно рисунка независимо от других окон, и другие окна доступны, в то время как фигура отображается.
'modal'
— Фигура отображается сверху всех существующих окон рисунка, делая их недоступными, пока главная фигура существует и остается модальной. Однако любые последние данные, созданные после модальной фигуры, отобразятся.
Когда несколько модальных окон существуют, последний раз созданное окно сосредотачивает внимание и остается, прежде всего, другие окна, пока это не становится невидимым, или возвращено в нормальный стиль окна или удалено. В то время особое внимание возвращается к окну, которое в последний раз сфокусировалось.
'docked'
— Фигура отображается в рабочем столе или окне документа. Когда WindowStyle
свойство установлено в 'docked'
, вы не можете установить DockControls
свойство к 'off'
. 'docked'
опция не поддерживается в MATLAB Online.
Примечание
Это некоторые важные характеристики WindowStyle
свойство и некоторые рекомендуемые лучшые практики:
Когда вы создаете окна UI, всегда задаете WindowStyle
свойство. Если вы также хотите установить Resize
, Position
, или OuterPosition
свойства фигуры, затем устанавливает WindowStyle
свойство сначала.
Можно изменить WindowStyle
свойство фигуры в любое время, включая то, когда фигура отображается и содержит дочерние элементы. Однако в некоторых системах, устанавливая это свойство может заставить фигуру высвечиваться или исчезать и вновь появляться, в зависимости от реализации системы нормальных и модальных окон. Для лучших визуальных результатов, набор WindowStyle
свойство во время создания или когда фигура невидима.
Вызов reset
на фигуре не изменяет значение WindowStyle
свойство.
Когда WindowStyle
установлен в 'modal'
, окно рисунка захватывает всю клавиатуру и действия мыши по всем окнам MATLAB, пока окна отображаются. Windows, принадлежащий приложениям кроме MATLAB, незатронут.
Ввод Ctrl+C, когда модальная фигура фокусируется причины, которые фигурируют, чтобы вернуться к 'normal'
WindowStyle
установка свойства. Это позволяет пользователю вводить в командной строке.
Фигуры с WindowStyle
набор свойств к 'modal'
и Visible
набор свойств к 'off'
не ведите себя модально, пока MATLAB не делает их видимыми. Поэтому можно скрыть модальное окно для более позднего повторного использования, вместо того, чтобы уничтожить его.
Модальные фигуры не делают дочерних элементов меню отображения, встроенных меню или панелей инструментов. Но, это не ошибка создать меню на модальном рисунке или изменить WindowStyle
установка свойства на 'modal'
на фигуре с дочерними элементами меню. Menu
объекты существуют, и фигура сохраняет их. Если вы сбрасываете WindowStyle
фигуры свойство к
'normal'
, отображение меню.
Модальное диалоговое окно препятствует тому, чтобы пользователь взаимодействовал с другими окнами MATLAB прежде, чем ответить на диалоговое окно.
Немодальное диалоговое окно позволяет пользователю взаимодействовать с другими окнами MATLAB прежде, чем ответить на диалоговое окно. Немодальное диалоговое окно также упоминается как нормальное диалоговое окно.
Индикатор, который отображает, какой процент вычисления завершен как вычисление, продолжает путем прогрессивного заполнения панели цветом слева направо. Панель ожидания также упоминается как индикатор выполнения.
Создать модальное диалоговое окно прогресса для одно окна App Designer или uifigure
- основанные приложения, используйте uiprogressdlg
функцию вместо этого.
close
| delete
| getappdata
| setappdata
| uiprogressdlg
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.