Создайте или обновите диалоговое окно панели ожидания
создает немодальное диалоговое окно, содержащее панель ожидания с заданным сообщением. Планка ожидания имеет дробную длину f
= waitbar(x
,msg
)x
. Диалоговое окно остается открытым до тех пор, пока код, который управляет им, не закроет его или пользователь не нажмет кнопку закрытия (X) в строке заголовка диалогового окна. The Figure
объект возвращается следующим f
.
Используйте waitbar
если вы хотите показать диалоговое окно панели ожидания в нескольких окнах приложения, MATLAB® рабочий стол, или Simulink® и по-прежнему иметь возможность взаимодействовать с ними перед ответом на диалоговое окно.
задает дополнительные опции, используя один или несколько аргументы пары "имя-значение", которые задают f
= waitbar(x
,msg
,Name,Value
)figure
свойства в диалоговом окне. Для примера, 'Name','Progress'
устанавливает имя диалогового окна на Прогресс (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, чтобы позволить пользователю остановить текущие расчеты.
Используйте следующий код, чтобы сходиться по значению pi в 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
- Объект фигурыОбъект фигуры ранее созданного диалогового окна панели ожидания, заданный как выходная переменная, используемая при создании этого объекта рисунка.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'Name','Wait Bar'
Примечание
Перечисленные здесь свойства являются только подмножеством свойств, которые можно задать. Полный список см. в разделе Свойств фигуры».
'CreateCancelBtn'
- Отмена коллбэка кнопкиCancel коллбэк кнопки, заданный как указатель на функцию, массив ячеек или вектор символов (не рекомендуемый). MATLAB устанавливает и коллбэк кнопки Cancel, и рисунок CloseRequestFcn
значение коллбэка к командам, заданным callback
значение аргумента. Для получения дополнительной информации смотрите Запись коллбэков для приложений, созданных программно.
Примечание
Вызовите delete
функция для удаления диалогового окна панели ожидания при задании CreateCancelBtn
коллбэк. Когда вы задаете 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 | Расстояние от левого края первичного отображения до внутреннего левого края окна. Это значение может быть отрицательным для систем, которые имеют более одного монитора. Если рисунок закреплен, это значение соответствует панели Figure на рабочем столе MATLAB. |
bottom | Расстояние от нижнего ребра первичного отображения до внутреннего нижнего ребра окна. Это значение может быть отрицательным для систем, которые имеют более одного монитора. Если рисунок закреплен, это значение соответствует панели Figure на рабочем столе MATLAB. |
width | Расстояние между правым и левым внутренними краями официбара. |
height | Расстояние между верхним и нижним внутренними краями окна. |
Все измерения указаны в модулях, заданных Units
свойство.
Вы не можете задать рисунок Position
свойство, когда рисунок закреплён.
В MATLAB Online™ bottom
и left
элементы Position
вектор игнорируется.
Чтобы разместить полное окно, включая границы, строку заголовка, панель меню, панели инструментов, используйте OuterPosition
свойство.
Примечание
Windows® операционная система обеспечивает минимальную ширину окна и максимальный размер окна. Если вы задаете размер фигуры за пределами этих пределов, отображаемый рисунок будет соответствовать пределам вместо заданного размера.
'Units'
- Единицы измерения'pixels'
(по умолчанию) | 'normalized'
| 'inches'
| 'centimeters'
| 'points'
| 'characters'
Единицы измерения, заданные в качестве одного из значений из этой таблицы.
Модули измерения | Описание |
---|---|
'pixels' (по умолчанию) | Пиксели. Начиная с R2015b, расстояния в пикселях не зависят от вашего системного разрешения в системах Windows и Macintosh:
На Linux® систем, размер пикселя определяется вашим системным разрешением. |
'normalized' | Эти модули измерения нормированы относительно родительского контейнера. Нижний левый угол контейнера сопоставлен с (0,0) и правый верхний угол преобразуется в (1,1) . |
'inches' | Дюймы. |
'centimeters' | Сантиметры. |
'points' | Точки. Одна точка равна 1/72 дюйма. |
'characters' | Эти модули основаны на шрифте uicontrol по умолчанию графического корневого объекта:
Для доступа к шрифту uicontrol по умолчанию используйте |
MATLAB измеряет все модули измерения в левом нижнем углу родительского объекта.
Это свойство влияет на Position
свойство. Если вы меняете Units
свойство, рассмотрите возврат его значения к значению по умолчанию после завершения расчетов, чтобы избежать влияния на другие функции, которые берут значение по умолчанию.
Порядок, в котором вы задаете Units
и Position
свойства имеют следующие эффекты:
Если вы задаете Units
перед Position
свойство, затем MATLAB устанавливает Position
используя модули.
Если вы задаете Units
свойство после Position
свойство, MATLAB устанавливает положение используя значение по умолчанию Units
. Затем MATLAB преобразует Position
значение эквивалентного значения в заданных модулях.
'WindowStyle'
- Стиль окна'normal'
(по умолчанию) | 'modal'
| 'docked'
Стиль окна, заданный как один из следующих:
'normal'
- Окно рисунка не зависит от других окон, а другие окна доступны во время отображения рисунка.
'modal'
- рисунок отображается поверх всех существующих окон рисунка, что делает их недоступными, пока верхняя фигура существует и остается модальной. Однако отобразятся все новые рисунки, созданные после модального рисунка.
Когда существует несколько модальных окон, последнее созданное окно сохраняет особое внимание и остается над всеми остальными окнами, пока не становится невидимым, или возвращается к обычному стилю окна, или удаляется. В то время особое внимание возвращается к окну, которое последнее имело особое внимание.
'docked'
- рисунок отображается на рабочем столе или в окне документа. Когда WindowStyle
для свойства задано значение 'docked'
, вы не можете задать DockControls
свойство к 'off'
. The 'docked'
опция не поддерживается в MATLAB Online.
Примечание
Это некоторые важные характеристики WindowStyle
свойство и некоторые рекомендуемые лучшие практики:
Когда вы создаете окна пользовательского интерфейса, всегда задайте 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'
на рисунке с дочерними элементами меню. The Menu
объекты существуют, и рисунок сохраняет их. Если вы сбросили рисунок WindowStyle
свойство к 'normal'
, меню отображения.
Модальное диалоговое окно препятствует взаимодействию пользователя с другими окнами MATLAB перед ответом на диалоговое окно.
Немодальное диалоговое окно позволяет пользователю взаимодействовать с другими окнами MATLAB перед ответом на диалоговое окно. Немодальное диалоговое окно также упоминается как обычное диалоговое окно.
Индикатор, который отображает, какой процент вычисления завершен, когда вычисление выполняется путем постепенного заполнения полосы цветом слева направо. Планка ожидания также упоминается как индикатор прогресса.
Чтобы создать диалоговое окно модального прогресса для однооконного App Designer или uifigure
- основанные на приложениях, используйте uiprogressdlg
вместо этого функция.
close
| delete
| getappdata
| setappdata
| uiprogressdlg
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.