Управляйте поведением менеджера по размещению сетки
Компоненты пользовательского интерфейса положения менеджеров по размещению сетки вдоль строк и столбцов невидимой сетки, которая охватывает целую фигуру или контейнер в фигуре. Путем изменения значений свойств размещения сетки можно изменить определенные аспекты его поведения. Используйте запись через точку, чтобы относиться к конкретному объекту и свойству:
uf = uifigure; g = uigridlayout(uf); g.ColumnWidth = {100,'1x'};
ColumnWidth
ColumnWidth {'1x','1x'}
(значение по умолчанию) | массив ячеекШирина столбца, заданная как массив ячеек, содержащий или числа или числа, соединенные с символами 'x'
. Можно задать любую комбинацию значений. Число элементов в массиве ячеек управляет количеством столбцов в сетке. Например, чтобы создать сетку с 4 столбцами, задайте массив ячеек 1 на 4.
Существует два различных типов ширины столбцов:
Фиксированная ширина в пикселях — Задает номер. Ширина столбца фиксируется в количестве пикселей, которые вы задаете. Когда родительский контейнер изменяет размер, ширина столбца не изменяется.
Переменная ширина — Задает номер, соединенный с символом 'x'
(например, '1x'
). Когда родительский контейнер изменяет размер, ширина столбца растет или уменьшается. Столбцы переменной ширины заполняют остающееся горизонтальное пространство, которое не используют столбцы фиксированной ширины. Номер, который вы соединяете с символом 'x'
, является весом для деления остающегося пространства среди всех столбцов переменной ширины. Если сетка имеет только один столбец переменной ширины, то это использует все остающееся пространство независимо от номера. Если существует несколько столбцов переменной ширины, которые используют тот же номер, то они совместно используют пробел одинаково. В противном случае сумма пробела пропорциональна номеру.
Например, {100,'2x','1x'}
задает 100 пикселей для первого столбца, и последние два столбца совместно используют остающееся горизонтальное пространство. Второй столбец использует вдвое больше пространства как третий столбец.
Изменение определенных аспектов размещения может влиять на значение этого свойства. Например, добавление большего количества компонентов к полностью заполненной сетке изменяет размер сетки, чтобы разместить новые компоненты. И при попытке удалить столбец, который содержит компоненты, свойство ColumnWidth
не изменяется, пока вы не перемещаете те компоненты из того столбца.
RowHeight
— Высота строки{'1x','1x'}
(значение по умолчанию) | массив ячеекВысота строки, заданная как массив ячеек, содержащий или числа или числа, соединенные с символами 'x'
. Можно задать любую комбинацию значений. Число элементов в массиве ячеек управляет количеством строк в сетке. Например, чтобы создать сетку, которая имеет 4 строки, задайте массив ячеек 1 на 4.
Существует два различных типов высот строки:
Фиксированная высота в пикселях — Задает номер. Высота строки фиксируется в количестве пикселей, которые вы задаете. Когда родительский контейнер изменяет размер, высота строки не изменяется.
Переменная высота — Задает номер, соединенный с символом 'x'
(например, '1x'
). Когда родительский контейнер изменяет размер, строка растет или уменьшается. Строки переменной высоты заполняют остающееся вертикальное пространство, которое не используют строки фиксированной высоты. Номер, который вы соединяете с символом 'x'
, является весом для деления остающегося пространства среди всех строк переменной высоты. Если сетка имеет только одну строку переменной высоты, то это использует все остающееся пространство независимо от номера. Если существует несколько строк переменной высоты, которые используют тот же номер, то они совместно используют пробел одинаково. В противном случае сумма пробела пропорциональна номеру.
Например, {100,'2x','1x'}
задает 100 пикселей для первой строки, и последние две строки совместно используют остающееся вертикальное пространство. Вторая строка использует вдвое больше пространства как третью строку.
Изменение определенных аспектов размещения может влиять на значение этого свойства. Например, добавление большего количества компонентов к полностью заполненной сетке изменяет размер сетки, чтобы разместить новые компоненты. И при попытке удалить строку, которая содержит компоненты, свойство RowHeight
не изменяется, пока вы не перемещаете те компоненты из той строки.
ColumnSpacing
— Интервал столбца10
(значение по умолчанию) | номерИнтервал столбца, заданный как скалярное количество пикселей между смежными столбцами в сетке. Номер, который вы задаете, применяется ко всем столбцам.
RowSpacing
— Интервал строки10
(значение по умолчанию) | номерИнтервал строки, заданный как скалярное количество пикселей между смежными строками в сетке. Номер, который вы задаете, применяется ко всем строкам.
Padding
— Дополнение[10 10 10 10]
(значение по умолчанию) | [left bottom right top]
Дополнение вокруг внешнего периметра сетки, заданной как вектор формы [left bottom right top]
. Элементы вектора описаны в приведенной ниже таблице.
Векторный элемент | Описание |
---|---|
left | Расстояние в пикселях между внутренним левым краем родительского контейнера и левым краем сетки. |
bottom | Расстояние в пикселях между внутренним базовым краем родительского контейнера и базовым краем сетки. |
right | Расстояние в пикселях между внутренним правым краем родительского контейнера и правым краем сетки. |
top | Расстояние в пикселях между внутренним верхним краем родительского контейнера и верхним краем сетки. Внутренний верхний край родительского контейнера запускается ниже всех художественных оформлений, таких как заголовки, метки вкладки или панели меню. |
Visible
— Видимость дочерних элементов'on'
(значение по умолчанию) | 'off'
Видимость дочерних элементов, заданных как 'on'
или 'off'
. Установите это свойство на 'off'
скрывать все дочерние компоненты в сетке и их потомках. Дочерние элементы и их потомки скрыты независимо от значения их свойств Visible
. Когда компоненты скрыты, можно получить и установить их свойства даже при том, что они не появляются в приложении.
Когда вы устанавливаете это свойство на 'on'
, дочерние элементы и их потомки видимы, только если их свойства Visible
также установлены в 'on'
.
Установка свойства Visible
на сетке не изменяет значения свойств Visible
его потомков.
Scrollable
— Способность прокрутить'off'
(значение по умолчанию) | 'on'
Способность прокрутить, заданный как 'off'
или 'on'
. Установка этого свойства к 'on'
позволяет прокрутить в сетке. В порядке прокрутить, нужно также соблюдать эти условия:
Сумма значений, заданных для свойства 'RowHeight'
сетки, должна быть больше, чем высота родительского контейнера.
Сумма значений, заданных для свойства 'ColumnWidth'
сетки, должна быть больше, чем ширина родительского контейнера.
По крайней мере одна строка или столбец сетки должны быть установлены в фиксированную пиксельную высоту или ширину.
Сетка должна содержать компоненты.
Определенные типы графиков и осей не поддерживают контейнеры с возможностью прокрутки. Однако можно поместить график или оси в панели без возможности прокрутки, и затем поместить панель в контейнер с возможностью прокрутки. Для получения дополнительной информации смотрите Отображающуюся Графику в App Designer.
Размещение
Параметры макетаLayoutOptions
(значение по умолчанию) | объект GridLayoutOptions
Параметры макета, заданные как объект GridLayoutOptions
. Это свойство задает опции для вложенного контейнера макетов сетки. Если размещение сетки не является дочерним элементом другого контейнера макетов сетки (например, это - дочерний элемент фигуры или панели), то это свойство пусто и не имеет никакого эффекта. Однако, если размещение сетки является дочерним элементом другого размещения сетки, можно поместить ту дочернюю сетку в желаемую строку и столбец родительской сетки путем установки свойств Row
и Column
на объекте GridLayoutOptions
.
Например, этот код вложенные множества grid2
в третьей строке и втором столбце grid1
.
grid1 = uigridlayout([4 3]); grid2 = uigridlayout(grid1); grid2.Layout.Row = 3; grid2.Layout.Column = 2;
Row
или Column
как двухэлементный вектор. Например, эта команда охватывает grid2
по столбцам 2
через 3
grid1
:grid2.Layout.Column = [2 3];
CreateFcn
Функция создания''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция создания объекта, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB® (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает объект. MATLAB инициализирует все значения свойств перед выполнением обратного вызова CreateFcn.
Если вы не задаете свойство CreateFcn, то MATLAB выполняет функцию создания по умолчанию.
Настройка свойства CreateFcn в существующем компоненте не имеет никакого эффекта.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который создается с помощью первого аргумента функции обратного вызова. В противном случае используйте функцию gcbo
, чтобы получить доступ к объекту.
DeleteFcn
Функция удаления''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция удаления объекта, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Для получения дополнительной информации об определении коллбэка как указатель на функцию, массив ячеек или вектор символов, видит Коллбэки Записи в App Designer.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет объект. MATLAB выполняет обратный вызов DeleteFcn перед уничтожением свойств объекта.
Если вы не задаете свойство DeleteFcn, то MATLAB выполняет функцию удаления по умолчанию.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который удаляется с помощью первого аргумента функции обратного вызова. В противном случае используйте функцию gcbo
, чтобы получить доступ к объекту.
Interruptible
— Прерывание коллбэка'on'
(значение по умолчанию) | 'off'
Прерывание обратного вызова, обозначаемое как 'on' или 'off'.
Свойство «Прерывание» определяет, можно ли прерывать выполняемый обратный вызов.
Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Свойство «Прерывание» объекта, имеющего текущий обратный вызов, определяет, разрешено ли прерывание.
Свойство «Прерывание» имеет два возможных значения:
'on'
— Позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnow
, figure
, uifigure
, getframe
, waitfor
или команда pause
.
Если рабочий коллбэк содержит одну из тех команд, то MATLAB останавливает выполнение коллбэка в той точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.
Если рабочий коллбэк не содержит одну из тех команд, то MATLAB закончил выполнять коллбэк без прерывания.
'off'
Блоки все попытки прерывания. Свойство BusyAction объекта, владеющего прерывистым обратным вызовом, определяет, отменяется ли прерывание обратного вызова или помещается в очередь.
Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:
Если прерывающий обратный вызов является обратным вызовом DeleteFcn, CloseRequestFcn или SizeChangedFcn, то прерывание происходит независимо от значения свойства прерывания.
Если текущий обратный вызов выполняет функцию waitfor, то прерывание происходит независимо от значения свойства прерывания.
Объекты-таймеры выполняются в соответствии с расписанием независимо от значения свойства прерывания.
Когда происходит прерывание, MATLAB не сохраняет состояние свойств или изображения. Например, объект, возвращенный командой gca или gcf, может измениться при выполнении другого обратного вызова.
BusyAction
Постановка в очередь коллбэка'queue'
(значение по умолчанию) | 'cancel'
Постановка обратного вызова в очередь задается как 'queue' или 'cancel'.
Свойство BusyAction определяет, как MATLAB обрабатывает выполнение прерывания обратных вызовов.
Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Свойство Interruptible
объекта, владеющего рабочим коллбэком, определяет, разрешено ли прерывание. Если прерывание не разрешено, то свойство BusyAction
объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь. Это возможные значения свойства BusyAction
:
'queue'
— Помещает прерывание обратного вызова в очередь, чтобы быть обработанным после рабочего выполнения концов коллбэка.
отмена
Не выполняет прерывание обратного вызова.
BeingDeleted
— Deletion'off'
| 'on'
Это свойство доступно только для чтения.
Удаление статуса, возврат на 'off' или 'on'.
MATLAB задает значение свойства BeingDeleted 'on', когда обратный вызов DeleteFcn начинает выполнение.
Значение свойства BeingDeleted остается 'on' до того момента, как объект перестанет существовать.
Проверьте значение свойства BeingDeleted, чтобы убедиться, что объект не будет удален до запроса или изменения.
Parent
— Родительский контейнерFigure
(значение по умолчанию) | объект Panel
| объект Tab
| объект ButtonGroup
| объект GridLayout
Родительский контейнер, заданный как объект Figure
, создал использование функции uifigure
или одного из ее дочерних контейнеров: Tab
, Panel
, ButtonGroup
или GridLayout
. Если никакой контейнер не задан, MATLAB вызывает функцию uifigure
, чтобы создать новый объект Figure
, который служит родительским контейнером.
Children
— Дочерние элементыGraphicsPlaceholderArray
| массив объектов компонента пользовательского интерфейсаДочерние элементы, возвращенные как массив объектов компонента пользовательского интерфейса. Используйте это свойство просмотреть список дочерних элементов или переупорядочить дочерние элементы путем установки свойства на перестановку себя. Вы не можете добавить или удалить дочерние элементы, использующие это свойство. Чтобы добавить дочерний элемент в этот список, установите свойство Parent
дочернего компонента пользовательского интерфейса.
Переупорядочение дочерних элементов не имеет никакого эффекта на местоположение компонентов в сетке. Чтобы изменить местоположение компонента в сетке, установите ее свойство Layout
.
HandleVisibility
Видимость указателя на объект'on'
(значение по умолчанию) | 'callback'
| 'off'
Видимость указателя на объект, заданная как 'on', 'callback' или 'off'.
Это свойство контролирует видимость объекта в списке дочерних элементов его родителя. Когда объект не отображается в списке дочерних элементов его родителя, он не возвращается с помощью функций, которые получают объекты, просматривая иерархию объектов или запрашивая свойства. Эти функции включают в себя get, findobj, clf и close.
Объекты действительны, даже если они не видны. Если вы можете получить доступ к объекту, вы можете установить его, получить его свойства и передать его любой функции, которая работает с объектами.
Значение HandleVisibility | Описание |
---|---|
'on' | Объект всегда виден. |
'callback' | Объект видим из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в командной строке, но позволяет обратным вызовам обращаться к нему. |
'off' | Объект невидим в любое время. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите значение HandleVisibility на 'off', чтобы временно скрыть объект во время выполнения этой функции. |
Ввод
Тип графического объекта'uigridlayout'
Это свойство доступно только для чтения.
Тип графического объекта, возвращенного как 'uigridlayout'
.
Тег
Идентификатор объекта''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИдентификатор объекта, заданный как вектор символов или скаляр строки. Можно задать уникальное значение Tag
, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте вашего кода, вы можете использовать функцию findobj для поиска объекта на основе значения тега.
UserData
UserData []
(значение по умолчанию) | массивПользовательские данные, заданные как любой массив MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Используйте это свойство хранить произвольные данные на объекте.
Если вы работаете в App Designer, создаете публичные или частные свойства в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать свойство UserData
. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.