Создайте или обновление ожидают диалоговое окно панели
Если вы используете App Designer или создаете приложения с функцией uifigure
, то используйте uiprogressdlg
вместо этого. Для получения дополнительной информации см. Мигрирующие Приложения GUIDE к App Designer.
f = waitbar(x,msg)
f = waitbar(x,msg,Name,Value)
waitbar(x)
waitbar(x,f)
waitbar(x,f,msg)
создает немодальное диалоговое окно, содержащее панель ожидания с заданным сообщением. Панель ожидания является дробной длиной f
= waitbar(x
,msg
)x
. Диалоговое окно остается открытым до кода, который управляет им, закрывает его, или пользователь кликает по близкой кнопке (X) в строке заголовка диалогового окна. Объект Figure
возвращен как f
.
задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение", которые устанавливают свойства 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
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'Name','Wait Bar'
Свойства, перечисленные здесь, являются только подмножеством свойств, которые можно установить. Для полного списка смотрите Figure Properties.
'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
.
Имя
Имя''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИмя фигуры, заданной как вектор символов или скаляр строки.
Пример: 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® осуществляет минимальную ширину окна и максимальный размер окна. Если вы зададите размер фигуры за пределами тех пределов, отображенная фигура будет соответствовать пределам вместо размера, который вы задали.
Модули
Модули измерения'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 прежде, чем ответить на немодальное диалоговое окно. Немодальное диалоговое окно также упоминается как normal
.
Индикатор, который отображает, какой процент вычисления завершен как вычисление, продолжает путем прогрессивного заполнения панели с цветом слева направо. Панель ожидания также упоминается как индикатор выполнения.
close
| delete
| getappdata
| setappdata
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.