Управляйте внешним видом и поведением компонента таблицы UI
Компоненты Table UI отображают строки и столбцы данных в приложении. Функция uitable
создает компонент таблицы UI и устанавливает любые необходимые свойства прежде, чем отобразить его. Путем изменения значений свойств можно изменить определенные аспекты его внешнего вида и поведения. Используйте запись через точку, чтобы относиться к конкретному объекту и свойству.
t = uitable('Data',[1 2 3; 4 5 6; 7 8 9]); t.FontSize = 9;
Данные
Табличные данныеТабличные данные, заданные как числовой массив, логический массив или массив ячеек. Табличные данные могут быть любым числовым типом, logical
или char
. Используйте массив ячеек, чтобы задать смесь различных типов данных.
Табличные данные отображены в формате, заданном свойством ColumnFormat
. Если существует несоответствие между типом данных табличных данных и значением свойства ColumnFormat
, MATLAB® преобразовывает данные или отображает предупреждение. См. описание свойства ColumnFormat
для получения дополнительной информации.
Чтобы предотвратить предупреждения, которые могут произойти, когда пользователи вводят недопустимые данные, запишите функцию CellEditCallback
, чтобы преобразовать данные в соответствующий тип.
Если количество строк в массиве свойства Data
не совпадает с числом элементов в массиве RowName
, то количество строк в получившейся таблице является большими из этих двух значений. То же самое верно, когда свойство ColumnName
не совпадает с количеством столбцов в массиве свойства Data
.
Пример: t = uitable ('Данные', rand (10,3))
Пример: t = uitable ('Данные', {'синие' верные 5; 'оранжевые' 25 лжи})
ColumnName
Имена заголовка столбца'numbered'
(значение по умолчанию) | n-1 массив ячеек из символьных векторов | массив пустой ячейки ({}
) | пустая матрица ([]
)Имена заголовка столбца, заданные как одно из этих значений:
'numbered'
— Заголовки столбцов являются порядковыми номерами, которые запускаются в 1
.
Массив ячеек — Каждый элемент массива ячеек становится именем столбца. Если вы задаете массив ячеек 1 на n, MATLAB хранит и возвращает значение как n-1 массив ячеек. Задайте многострочное имя столбца включением вертикальной наклонной черты (|
) в имени столбца. Например, значение, 'Telephone|Number'
, производит заголовок столбца с символом новой строки между словами, “Телефоном” и “Номером”.
Массив пустой ячейки ({}
) — Таблица не имеет никаких заголовков столбцов.
Пустая матрица ([]
) — Таблица не имеет никаких заголовков столбцов
Если количество столбцов в массиве свойства Data
не совпадает с числом элементов в массиве ColumnName
, то количество столбцов в получившейся таблице является большими из этих двух значений.
Пример: t = uitable ('ColumnName', {'Имя'; 'Номер'}, 'Данные', {'Боб' 5})
Пример: t = uitable ('ColumnName', {'Имя'; []}, 'Данные', {'Боб' 5})
Пример: t = uitable ('ColumnName', {'Имя'; 'Telephone|Number'}, 'Данные', {'Боб', '555-1212'})
ColumnWidth
Ширина столбцов таблицы'auto'
(значение по умолчанию) | массив ячеек 1 на nШирина столбцов таблицы, заданных как 'auto'
или как массив ячеек 1 на n.
Каждый столбец в массиве ячеек соответствует столбцу в таблице. Значения находятся в пиксельных модулях. Если вы задаете 'auto'
, то MATLAB вычисляет ширину столбца автоматически с помощью нескольких факторов, один из которых является значением свойства ColumnName
.
Можно объединить фиксированные ширины столбца и ширину столбцов 'auto'
в массиве ячеек, или можно задать единственное значение 'auto'
, чтобы сделать всю ширину столбцов автоматической.
Выбор Auto Width в Редакторе Свойств таблицы имеет тот же эффект как установка свойства ColumnWidth
к 'auto'
.
Пример: t = uitable ('ColumnWidth', 'auto', 'Данные', [1 2 3; 4 5 6])
Пример: t = uitable ('ColumnWidth', {64 60 40}, 'Данные', [1 2 3; 4 5 6])
Пример: t = uitable ('ColumnWidth', {64 'auto' 40}, 'Данные', [1 2 3; 4 5 6])
ColumnEditable
Способность отредактировать ячейки столбца[]
(значение по умолчанию) | логический массив 1 на n | логический скалярСпособность отредактировать ячейки столбца, заданные как:
Пустой логический массив ([]
) — Никакие столбцы не доступны для редактирования.
Логический массив 1 на n — Этот массив задает, какие столбцы доступны для редактирования. Значение n равно количеству столбцов в таблице. Каждое значение в массиве соответствует столбцу таблицы. Значение true
в массиве делает ячейки в том столбце доступными для редактирования. Значение false
делает ячейки в том столбце недоступными для редактирования.
Логический скаляр — целая таблица, доступная для редактирования или недоступная для редактирования.
Пример: t = uitable ('Данные', rand (10,3), 'ColumnEditable', [ложная истинная истина])
Пример: t = uitable ('Данные', rand (10,3), 'ColumnEditable', ложь)
Столбцы таблицы, которые содержат флажки или всплывающие меню, должны быть доступными для редактирования, таким образом, пользователь может взаимодействовать с этими средствами управления.
ColumnFormat
Формат отображения ячейки{}
) (значение по умолчанию) | массив ячеек из символьных векторов 1 на nФормат отображения ячейки, заданный как массив пустой ячейки или массив ячеек из символьных векторов 1 на n.
Это свойство определяет как данные в каждом отображения столбца и ограничения для редактирования этого данные в пользовательском интерфейсе. Элементы массива ячеек соответствуют столбцам в массиве свойства Data
. Если вы не хотите задавать формат отображения для конкретного столбца, задайте []
для того столбца. Если вы не задаете формат для столбца, MATLAB определяет отображение по умолчанию по условию тип данных в ячейке.
Элементы массива ячеек должны быть одним из значений, описанных в следующей таблице.
Значение формата ячеек | Описание |
---|---|
'char' | Отобразите лево-выровненные по ширине значения Чтобы отредактировать ячейку, пользователь вводит текст, чтобы заменить существующее значение. Если элемент в массиве свойства |
логический | Отобразите флажки. Чтобы отредактировать ячейку, пользователь выбирает или снимает флажок. Затем MATLAB устанавливает соответствующее значение Значением свойства Первоначально, флажок устанавливается, когда соответствующим значением |
Числовой | Отобразите выровненное по правому знаку значение, эквивалентное отображению Командного окна для числовых данных. Если элемент в массиве свойства Чтобы отредактировать ячейку, пользователь может ввести любой текст. Если пользователь вводит текст, который представляет константу, такую как |
Массив ячеек из символьных векторов 1 на n, такой как {'one' 'two' 'three'} | Отобразите всплывающее меню. Чтобы отредактировать ячейку, пользователь выбирает элемент из всплывающего меню. MATLAB устанавливает соответствующее значение свойства |
Имя формата принято функцией | Отобразите значения свойств |
Если значение ColumnFormat
задает всплывающее меню, начальное значение Data
не должно быть одной из опций в том меню. Начальное значение Data
появляется, пока пользователь не делает различный выбор.
Например, предположите, что значением свойства Data
для данного столбца является 'Choose'
для всех строк, и значение ColumnFormat
задает всплывающее меню с выбором 'group 1'
и 'group 2'
. Когда MATLAB составляет таблицу, те ячейки таблицы отображают 'Choose'
, пока пользователь не выбирает элемент во всплывающем меню:
f = figure; myData = {'Andrew' 31 'Male' 'Choose'; ... 'Bob' 41 'Male' 'Choose'; ... 'Anne' 20 'Female' 'Choose';}; t = uitable('Parent', f,... 'Position', [25 25 334 78],... 'ColumnFormat',({[] [] [] {'group 1' 'group 2'}}),... 'ColumnEditable', true,... 'Data', myData);
Эта таблица описывает, как различные типы данных отображаются с определенными значениями ColumnFormat
.
ColumnFormat | ||||
Числовой | 'char' | логический | ||
Тип данных значения массива данных | Любой числовой тип | Таблица показывает номер как есть. | MATLAB преобразовывает значение в текст и отображает лево-выровненный по ширине в таблице. Если MATLAB не может преобразовать значение, то NaN отображается. | Не рекомендуемый. MATLAB может возвратить предупреждение, когда пользователь редактирует ячейку, если вы не задаете функцию CellEditCallback . |
'char' | Таблица показывает выровненное по правому знаку значение, как будто это - номер. | Таблица показывает значение как есть. | Не рекомендуемый. MATLAB может возвратить предупреждение, когда пользователь редактирует ячейку, если вы не задаете функцию CellEditCallback . | |
логический | Таблица показывает логические значения как числа. MATLAB может возвратить предупреждение, когда пользователь редактирует ячейку, если вы не задаете функцию CellEditCallback . | Таблица показывает логическое значение как лево-выровненный по ширине 'true' или 'false' . MATLAB может возвратить предупреждение, когда пользователь редактирует ячейку, если вы не задаете функцию CellEditCallback . | Таблица показывает логические значения как флажки. |
Например, в следующей таблице, первый столбец (XData) оставляют выровненным по ширине, потому что значением ColumnFormat
для того столбца является 'char'
.
RowName
Имена заголовка строки'numbered'
(значение по умолчанию) | n-1 массив ячеек из символьных векторов | массив пустой ячейки ({}
) | пустая матрица ([]
)Имена заголовка строки, заданные как одно из этих значений:
'numbered'
— Заголовки строк являются порядковыми номерами, которые запускаются в 1
.
Массив ячеек — Каждый элемент массива ячеек становится именем строки. Имена строки ограничиваются одной строкой текста. Если вы задаете массив ячеек 1 на n, MATLAB хранит и возвращает значение как n-1 массив ячеек.
Массив пустой ячейки ({}
) — Таблица не имеет никаких заголовков строк.
Пустая матрица ([]
) — Таблица не имеет никаких заголовков строк
Если количество строк в массиве свойства Data
не совпадает с числом элементов в массиве RowName
, то количество строк в получившейся таблице является большими из этих двух значений.
Пример: t = uitable ('RowName', {'Имя'; 'Номер'}, 'Данные', {'Боб'; 5})
Пример: t = uitable ('RowName', {'Имя'; []}, 'Данные', {'Боб'; 5})
RearrangeableColumns
Способность перестроить столбцы таблицы'off'
(значение по умолчанию) | 'on'
Способность перестроить столбцы таблицы, заданные как 'off'
или 'on'
. Это свойство обеспечивает способ позволить пользователям переупорядочить столбцы таблицы (но не метки) путем перетаскивания заголовков столбцов.
Реконструкция столбцов таблицы в пользовательском интерфейсе не влияет на столбцы в массиве свойства Data
.
FontName
FontName 'FixedWidth'
Название шрифта, заданное как система, поддержало название шрифта или 'FixedWidth'
. Шрифт по умолчанию зависит от конкретной операционной системы и локали.
Чтобы использовать шрифт фиксированной ширины, который выглядит хорошим в любой локали, задайте 'FixedWidth'
. Фактический используемый шрифт фиксированной ширины зависит от свойства FixedWidthFontName
корневого объекта. Изменение свойства FixedWidthFontName
заставляет незамедлительное обновление отображения использовать новый шрифт.
Пример: 'Arial'
'FontSize'
'FontSize' Размер шрифта, заданный в виде положительного числа. Свойство FontUnits
задает модули. Размер по умолчанию системно-зависим.
Пример: 12
Пример: 12.5
FontWeight
FontWeight 'normal'
(значение по умолчанию) | 'bold'
Толщина шрифта, заданная как значение из следующей таблицы.
normal' — Насыщенность по умолчанию, определяемая конкретным видом шрифта
'bold' — более тонкие контуры символов, чем 'normal'
MATLAB использует свойство FontWeight
выбрать шрифт от доступных в вашей системе. Не все шрифты имеют полужирное начертание шрифта. Поэтому установка жирного шрифта все еще привести к установке обычного шрифта.
'light'
и значения толщины шрифта 'demi'
были удалены в R2014b. Если вы задаете любое из этих значений, результатом является обычная толщина шрифта.
FontAngle
FontAngle 'normal'
(значение по умолчанию) | 'italic'
Угол шрифта, заданный как 'normal'
или 'italic'
. MATLAB использует это свойство выбрать шрифт от доступных в вашей системе. Установка этого свойства к 'italic'
выбирает наклонную версию шрифта, если это доступно в вашей системе.
Значение 'oblique'
было удалено. Используйте 'italic'
вместо этого.
'FontUnits'
'FontUnits' 'points'
(значение по умолчанию) | 'normalized'
| 'inches'
| 'centimeters'
| 'pixels'
Модули шрифта, заданные как одно из значений из этой таблицы.
Модульное значение | Описание |
---|---|
'points' | 'points'. Одна точка является 1/72-й из дюйма. |
'normalized' | Нормализованные значения для определения размера шрифта как часть высоты. Когда вы изменяете размер компонента UI, MATLAB масштабирует отображенный шрифт, чтобы поддержать ту часть. |
'inches' | 'inches'. |
'centimeters' | 'centimeters'. |
'pixels' | 'pixels'. Начиная с версии R2015b, значения размеров в пикселях не зависят от вашего системного разрешения в системах Windows® и Macintosh:
В системах Linux® размер пикселя определяется вашим системным разрешением. |
Visible
— Табличная видимость'on'
(значение по умолчанию) | 'off'
Табличная видимость, заданная как 'on'
или 'off'
. Когда Visible
является 'off'
, таблица не видима, но можно запросить и установить ее свойства.
Чтобы заставить ваше приложение запуститься быстрее, установите свойство Visible
всех компонентов, которые первоначально не отображены к 'off'
.
Enable
— Рабочее состояние таблицы'on'
(значение по умолчанию) | 'inactive'
| 'off'
Рабочее состояние таблицы, заданной как 'on'
, 'off'
или 'inactive'
. Свойство Enable
управляет, отвечает ли компонент UI на нажатия кнопок. Трех возможных значений:
Компонент 'on'
- The UI является операционным.
Компонент 'off'
- The UI не является операционным и появляется grayed.
Компонент 'inactive'
- The UI не является операционным, но он имеет тот же внешний вид как тогда, когда Enable
является 'on'
.
Значение свойства Enable
и тип нажатия кнопки определяют, как пользовательский интерфейс отвечает.
Включите значение | Ответ, чтобы щелкнуть левой кнопкой | Ответ, чтобы щелкнуть правой кнопкой |
---|---|---|
'on' | Функция |
|
'off' или 'inactive' |
|
|
Tooltip
— ПодсказкаПодсказка, заданная как вектор символа или скаляр строки. Используйте это свойство отобразить сообщение, когда пользователь нависнет указатель над компонентом во время выполнения. Подсказка не отображается, когда компонент отключен.
Чтобы создать несколько строк текста, используйте функцию sprintf
, чтобы вставить символы новой строки ('\n'
) в ваш текст. Например:
txt = sprintf('Line 1\nLine 2');
Затем установите свойство Tooltip
на значение, возвращенное sprintf
.
UIContextMenu
Контекстное менюGraphicsPlaceholder
(значение по умолчанию) | uicontextmenu объектКонтекстное меню, заданное как объект ContextMenu.
Используйте это свойство отобразить контекстное меню, когда пользователь щелкнет правой кнопкой по компоненту UI. Создайте контекстное меню с помощью функции uicontextmenu.
TooltipString
Подсказка (не рекомендуемый)Подсказка, заданная как вектор символа или скаляр строки. Подсказка отображается, когда пользователь нависает указатель мыши над компонентом в приложении.
Свойство TooltipString
не рекомендуется, начиная в R2018b. Используйте свойство Tooltip
вместо этого.
Selected
— Состояние выбора (не рекомендуемый)'off'
(значение по умолчанию) | 'on'
Поведение свойства Selected
, измененного в R2014b, и это не рекомендуется. Это больше не имеет эффекта на объекты Table
. Это свойство может быть удалено в будущем релизе.
SelectionHighlight
Отображение маркеров выделения (не рекомендуемый)'on'
(значение по умолчанию) | 'off'
Поведение свойства SelectionHighlight
, измененного в R2014b, и это не рекомендуется. Это больше не имеет эффекта на объекты Table
. Это свойство может быть удалено в будущем релизе.
ForegroundColor
Цвет текста ячейки[0 0 0]
(значение по умолчанию) | триплет RGB | 'r'
| 'g'
| 'b'
|...Цвет текста ячейки, заданный как триплет RGB или один из перечисленных в таблице параметров цвета.
Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].
Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.
Опция | Описание | Эквивалентный триплет RGB |
---|---|---|
'красный' или 'r'
| Красный | [1 0 0] |
'green' или 'g' | Зеленый | [0 1 0] |
'blue' или 'b' | Синий | [0 0 1] |
'yellow' или 'y' | Желтый | [1 1 0] |
'пурпурный' или 'm'
| Пурпурный | [1 0 1] |
'голубой' или 'c'
| Голубой | [0 1 1] |
'white' или 'w' | Белый | [1 1 1] |
'black' или 'k' | Черный | [0 0 0] |
BackgroundColor
BackgroundColor [1 1 1; 0.94 0.94 0.94]
(значение по умолчанию) | триплет RGB | m-3 матрица триплетов RGBЦвет фона, заданный как триплет RGB или m-3 матрица триплетов RGB. Триплет RGB является вектором - строкой, который задает интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений, [0,1]
. Названия цвета не допустимы.
Задайте m-3 матрицу когда это необходимо штриховка строк таблицы, чтобы следовать за повторяющимся шаблоном m различных цветов. Каждой строкой матрицы должен быть триплет RGB. MATLAB использует строки матрицы, когда свойством RowStriping
является 'on'
. Табличный фон не чередуется, если и RowStriping
не является 'on'
и BackgroundColor
, m-3 матрица.
Пример: t = uitable ('Данные', rand (10,3), 'BackgroundColor', [0.85 0.85 1])
Пример: t = uitable ('Данные', rand (10,3), 'BackgroundColor', [1 1 1; 0.85 0.85 1])
В следующей таблице перечислены триплеты RGB для определенных цветов.
Цвет | Триплет RGB |
---|---|
Желтый | [1 1 0] |
Пурпурный | [1 0 1] |
Голубой | [0 1 1] |
Красный | [1 0 0] |
Зеленый | [0 1 0] |
Синий | [0 0 1] |
Белый | [1 1 1] |
Черный | [0 0 0] |
RowStriping
Альтернативная штриховка строки'on'
(значение по умолчанию) | 'off'
Альтернативная штриховка строки, заданная как 'on'
или 'off'
. Это свойство управляет шаблоном штриховки строк таблицы.
Когда значение RowStriping
установлено к 'on'
, матрица BackgroundColor
задает цвета строки, чтобы отобразиться в повторяющемся шаблоне. Если матрица BackgroundColor
имеет только одну строку, то штриховка является тем же самым во всех строках таблицы.
То, когда RowStriping
установлен в 'off'
, затем первые раскрашивают матрицу BackgroundColor
, задает штриховку для всех строк в таблице.
Position
— Расположение и размер[left bottom width height]
Местоположение и размер, заданный как четырехэлементный вектор формы [left bottom width height]
. В этой таблице описываются каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от внутреннего левого края родительского контейнера к внешнему левому краю таблицы |
bottom | Расстояние от внутреннего базового края родительского контейнера к внешнему базовому краю таблицы |
width | Расстояние между правыми и левыми внешними краями таблицы |
высота | Расстояние между верхними и нижними внешними краями таблицы |
Все измерения указаны в единицах, заданных свойством Units.
Значения Position
относительно области векторной и растровой графики родительского контейнера. Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую заголовком. Если родительский контейнер является фигурой, то область векторной и растровой графики также исключает панель меню и панель инструментов.
Используйте свойство Extent
определить соответствующую калибровку для таблицы относительно данных. Установите width
и height
свойства Position
к ширине и высоте свойства Extent
. Знайте, что, если таблица имеет значительные степени, делая это, может заставить таблицу, расширяют вне права или верхнего края его родительского контейнера.
Можно объединить запись через точку и индексацию массива когда это необходимо, чтобы изменить одно или два последовательных значения в векторе Position
. Например, это кодовые наборы ширина и высота таблицы, чтобы совпадать с Extent
таблицы:
t = uitable('Data',rand(10,3));
t.Position(3:4) = t.Extent(3:4);
InnerPosition
Расположение и размер[left bottom width height]
Местоположение и размер, заданный как четырехэлементный вектор формы [left bottom width height]
. Все измерения указаны в единицах, заданных свойством Units.
Это значение свойства идентично значениям свойств OuterPosition
и Position
.
OuterPosition
Расположение и размер[left bottom width height]
Местоположение и размер, заданный как четырехэлементный вектор формы [left bottom width height]
. Все измерения указаны в единицах, заданных свойством Units.
Это значение свойства идентично значениям свойств InnerPosition
и Position
.
Extent
— Размер включения прямоугольникаЭто свойство доступно только для чтения.
Размер включения прямоугольника, возвращенного как четырехэлементный вектор - строка. Первые два элемента вектора всегда являются нулем. Третьи и четвертые элементы являются шириной и высотой прямоугольника, содержащего таблицу, соответственно. Все измерения указаны в единицах, заданных свойством Units.
MATLAB определяет размер прямоугольника на основе текущего Data
, RowName
и значений свойств ColumnName
. MATLAB оценивает значения ширины и высоты с помощью ширин строки и столбца. Предполагаемая степень может быть больше, чем фигура.
Рассмотрите использование значения свойства Extent
при определении значений ширины и высоты свойства Position
.
Модули
Модули измерения'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
в эквивалентную стоимость в модулях, которые вы задаете.
CellEditCallback
Функция обратного вызова редактирования ячейкиФункция обратного вызова редактирования ячейки, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символа, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Эта функция выполняется, когда пользователь изменяет содержимое ячейки таблицы. Можно использовать эту функцию обратного вызова, чтобы выполнить вычисления или подтвердить ввод данных пользователем.
Если вы задаете это свойство как указатель на функцию (или массив ячеек, содержащий указатель на функцию), MATLAB передает объект CellEditData
, содержащий данные о событиях в качестве второго аргумента к функции обратного вызова. Этот объект содержит свойства, описанные в следующей таблице. Можно получить доступ к этим свойствам в функции обратного вызова с помощью записи через точку.
Свойство | Описание |
---|---|
Indices | 1 2 массив, содержащий индексы строки и столбца ячейки пользователь, отредактирован. |
PreviousData | Предыдущие данные ячейки. Значением по умолчанию является пустая матрица, |
EditData | Вводимое пользователями значение. |
NewData | Значение, которое MATLAB записал в массив свойства Свойство |
Ошибка | Сообщение об ошибке возвратилось, если MATLAB обнаруживает ошибку во вводимых пользователями данных. Свойство Если свойство |
Source | Объект таблицы, который выполняет функцию |
EventName |
|
Когда пользователь редактирует ячейку таблицы, MATLAB выполняет эти шаги:
Попытки сохранить новое значение в свойство Data
таблицы
Вызывает функцию CellEditCallback
(если она существует),
Если результаты значения по ошибке и нет никакой функции CellEditCallback
, то данные ячейки возвращаются к ее предыдущему значению и никаким ошибочным отображениям.
Этот пример показывает, как создать функцию обратного вызова, которая оценивает вводимые пользователями данные в числовой ячейке таблицы. Вставьте этот код в редактор и запустите его, чтобы видеть, как он работает.
function myui f = figure; myData = { 'A ' 31; 'B' 41; 'C' 5; 'D' 2.6}; t = uitable('Parent',f,... 'Position', [25 25 700 200], ... 'Data',myData,... 'ColumnEditable', [false true], ... 'CellEditCallback',@converttonum); function converttonum(hObject,callbackdata) numval = eval(callbackdata.EditData); r = callbackdata.Indices(1) c = callbackdata.Indices(2) hObject.Data{r,c} = numval; end end
Когда вы запускаете myui
, можно изменить значение во втором столбце таблицы. В ответ функция обратного вызова converttonum
выполняется. Функция converttonum
использует функцию eval
, чтобы оценить ваш входной параметр. Затем это устанавливает данные ячейки на значение numval
. Например, если вы вводите pi
or1+1
, функция converttonum
устанавливает значение ячейки таблицы к числовому представлению входного параметра. Поскольку нет никакой проверки ошибок в функции converttonum
, недопустимые выражения возвращают ошибку, и новое значение ячейки таблицы становится NaN
.
CellSelectionCallback
Функция обратного вызова выбора ячейкиФункция обратного вызова выбора ячейки, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символа, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Эта функция обратного вызова выполняется, когда пользователь выполняет одно из следующих действий:
Подсвечивает ячейку данных (не ячейка строки или ячейка заголовка столбца) путем нажатия на него или навигации к нему с клавишей со стрелкой
Выбирает прямоугольную группу ячеек путем содержания клавиши SHIFT при выборе ячеек
Отменяет выбор ячейки путем Щелчка при нажатой клавише Ctrl по нему
Если вы задаете это свойство как указатель на функцию (или массив ячеек, содержащий указатель на функцию), MATLAB передает объект CellSelectionChangeData
, содержащий данные о событиях в качестве второго аргумента к функции обратного вызова. Этот объект содержит свойства, перечисленные в следующей таблице.
Свойство | Описание |
---|---|
Indices | массив n-2, содержащий индексы строки и столбца ячейки пользователь, выбран. |
Source | Объект таблицы, который выполняет функцию |
EventName |
|
'ButtonDownFcn'
Функция обратного вызова нажатия кнопки''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символаФункция обратного вызова нажатия кнопки, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символа, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Обратный вызов ButtonDownFcn
является функцией, которая выполняется, когда пользователь щелкает кнопкой мыши по компоненту UI. Обратный вызов выполняется в следующих ситуациях:
Пользователь щелкает правой кнопкой по таблице и Enable
свойство установлено в 'on'
.
Пользователь щелкает правой кнопкой или щелкает левой кнопкой по таблице и Enable
свойство установлено в 'off'
или 'inactive'
.
KeyPressFcn
Функция обратного вызова нажатия клавиши''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символаФункция обратного вызова нажатия клавиши, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символа, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Эта функция обратного вызова выполняется, когда объект Table
фокусируется, и пользователь нажимает клавишу. Если вы не задаете функцию для этого свойства, MATLAB передает нажатия клавиш родительской фигуре. Повторные нажатия клавиш сохраняют особое внимание объекта Table
, и функция выполняется с каждым нажатием клавиши. Если пользователь нажимает несколько клавиш в приблизительно то же время, MATLAB обнаруживает нажатие клавиши для последней нажатой клавиши.
Если вы задаете это свойство как указатель на функцию (или массив ячеек, содержащий указатель на функцию), MATLAB передает объект, содержащий данные обратного вызова в качестве второго аргумента к функции обратного вызова. Этот объект содержит свойства, описанные в следующей таблице. Можно получить доступ к этим свойствам в функции обратного вызова с помощью записи через точку.
Свойство | Описание | Примеры: | |||
---|---|---|---|---|---|
a | = | Сдвиг | Shift-a | ||
Символ | Символ, который отображается в результате нажатия клавиши или ключей. Символ может быть пустым или непечатным. | A | '=' | '' | A |
Modifier | Массив ячеек, содержащий имена одной или нескольких модифицирующих клавиш, которые нажимаются (такой как, Ctrl, Высокий звук, Сдвиг). | {1x0 cell} | {1x0 cell} | {'shift'} | {'shift'} |
Key | Клавиша, нажатая, идентифицированная (строчной) меткой на ключе или текстовым описанием. | A | 'equal' | 'shift' | A |
Source | Объект, который фокусируется, когда пользователь нажимает клавишу. | Объект Table | Объект Table | Объект Table | Объект Table |
EventName | Действие, которое заставило функцию обратного вызова, выполняется. | 'KeyPress' | 'KeyPress' | 'KeyPress' | 'KeyPress' |
Нажатие модифицирующих клавиш влияет на данные обратного вызова следующими способами:
Модифицирующие клавиши могут влиять на свойство Character
, но не изменяют свойство Key
.
Определенные ключи и ключи, измененные с Ctrl, помещенными непечатными символами в свойстве Character
.
Ctrl, Высокий звук, Сдвиг, и несколько других ключей, не генерируют данные свойства Character
.
Также можно запросить свойство CurrentCharacter
фигуры определить, которые изображают нажатого пользователя.
KeyReleaseFcn
Функция обратного вызова ключевого релиза''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символаФункция обратного вызова ключевого релиза, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символа, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Эта функция обратного вызова выполняется, когда объект Table
фокусируется, и пользователь отпускает клавишу.
Если вы задаете это свойство как указатель на функцию (или массив ячеек, содержащий указатель на функцию), MATLAB передает объект, содержащий данные обратного вызова в качестве второго аргумента к функции обратного вызова. Этот объект содержит свойства, описанные в следующей таблице. Можно получить доступ к этим свойствам в функции обратного вызова с помощью записи через точку.
Свойство | Описание | Примеры: | |||
---|---|---|---|---|---|
a | = | Сдвиг | Shift-a | ||
Символ | Символьная интерпретация клавиши, которая была отпущена. | A | '=' | '' | A |
Modifier | Текущий модификатор, такой как | {1x0 cell} | {1x0 cell} | {1x0 cell} | {1x0 cell} |
Key | Имя клавиши, которая была отпущена, идентифицированная строчной меткой на ключе или текстовым описанием. | A | 'equal' | 'shift' | A |
Source | Объект, который фокусируется, когда пользователь нажимает клавишу. | Объект Table | Объект Table | Объект Table | Объект Table |
EventName | Действие, которое заставило функцию обратного вызова, выполняется. | 'ase' | 'ase' | 'ase' | 'ase' |
Нажатие модифицирующих клавиш влияет на данные обратного вызова следующими способами:
Модифицирующие клавиши могут влиять на свойство Character
, но не изменяют свойство Key
.
Определенные ключи и ключи, измененные с Ctrl, помещенными непечатными символами в свойстве Character
.
Ctrl, Высокий звук, Сдвиг, и несколько других ключей, не генерируют данные свойства Character
.
Также можно запросить свойство CurrentCharacter
фигуры определить, которые изображают нажатого пользователя.
CreateFcn — функция создания компонентов
''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символаФункция создания компонентов, заданная в качестве одного из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символа, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает компонент. MATLAB инициализирует все значения свойства компонентов прежде, чем выполнить обратный вызов CreateFcn
. Если вы не задаете свойство CreateFcn, то MATLAB выполняет функцию создания по умолчанию.
Используйте функцию gcbo
в своем коде CreateFcn
, чтобы получить объект компонента, который создается.
Установка свойства CreateFcn
на существующем объекте компонента не имеет никакого эффекта.
DeleteFcn — функция удаления компонентов
''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символаФункция удаления компонента, заданная в качестве одного из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символа, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Свойство DeleteFcn
задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет компонент (например, когда пользователь закрывает окно). MATLAB выполняет обратный вызов DeleteFcn
прежде, чем уничтожить свойства объекта компонента. Если вы не задаете свойство DeleteFcn, то MATLAB выполняет функцию удаления по умолчанию.
Используйте функцию gcbo
в своем коде DeleteFcn
, чтобы получить объект компонента, который удаляется.
Interruptible
— Прерывание обратного вызова'on'
(значение по умолчанию) | 'off'
Прерывание обратного вызова, обозначаемое как 'on' или 'off'.
Свойство «Прерывание» определяет, можно ли прерывать выполняемый обратный вызов.
Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Свойство «Прерывание» объекта, имеющего текущий обратный вызов, определяет, разрешено ли прерывание:
Значение 'on' позволяет другим обратным вызовам прерывать обратные вызовы объекта.
Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnow
, фигура
, getframe
, waitfor
, или сделать паузу
.
Если текущий обратный вызов содержит одну из этих команд, MATLAB останавливает выполнение обратного вызова в этой точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.
Если текущий обратный вызов не содержит одну из этих команд, MATLAB завершает выполнение обратного вызова без прерывания.
Значение 'off' блокирует все попытки прерывания.
Свойство BusyAction объекта, владеющего прерывистым обратным вызовом, определяет, отменяется ли прерывание обратного вызова или помещается в очередь.
Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:
Если прерывающий обратный вызов является обратным вызовом DeleteFcn, CloseRequestFcn или SizeChangedFcn, то прерывание происходит независимо от значения свойства прерывания.
Если текущий обратный вызов выполняет функцию waitfor, то прерывание происходит независимо от значения свойства прерывания.
Объекты-таймеры выполняются в соответствии с расписанием независимо от значения свойства прерывания.
MATLAB не сохраняет состояние свойств или отображения, когда прерывание происходит. Например, объект, возвращенный командой gca или gcf, может измениться при выполнении другого обратного вызова.
Смотрите Выполнение обратного вызова Прерывания для примера, который показывает, как свойства Interruptible
и BusyAction
влияют на поведение программы.
BusyAction
Постановка в очередь обратного вызова'queue'
(значение по умолчанию) | 'cancel'
Постановка в очередь обратного вызова, заданная как 'queue'
(значение по умолчанию) или 'cancel'
. The BusyAction property determines how MATLAB handles the execution of interrupting callbacks.
There are two callback states to consider:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Свойство BusyAction
источника прерывания обратного вызова определяет, как MATLAB обрабатывает свое выполнение. Свойство BusyAction
имеет эти значения:
'queue' — поместите прерывающий обратный вызов в очередь вызовов, подлежащих обработке после завершения обратного вызова.
cancel' — не выполнять прерывание обратного вызова.
Каждый раз, когда MATLAB вызывает обратный вызов, тот обратный вызов всегда пытается прервать выполняющийся обратный вызов. Свойство Interruptible
объекта, обратный вызов которого запускается, определяет, позволено ли прерывание. Если Interruptible
установлен в:
'on' — Прерывание происходит в следующей точке, где MATLAB обрабатывает очередь.
Это значение по умолчанию.
Свойство off
— The BusyAction
(объекта, владеющего прерыванием обратного вызова), определяет, ставит ли MATLAB в очередь или игнорирует прерывание обратного вызова.
Смотрите Выполнение обратного вызова Прерывания для примера, который показывает, как свойства BusyAction
и Interruptible
влияют на поведение программы.
BeingDeleted
— Deletion'off'
| 'on'
Это свойство доступно только для чтения.
Удаление статуса, возврат на 'off' или 'on'.
MATLAB задает значение свойства BeingDeleted 'on', когда обратный вызов DeleteFcn начинает выполнение.
Значение свойства BeingDeleted остается 'on' до того момента, как объект перестанет существовать.
Проверьте значение свойства BeingDeleted, чтобы убедиться, что объект не будет удален до запроса или изменения.
HitTest
Способность стать текущим объектом'on'
(значение по умолчанию) | 'off'
Способность стать текущим объектом, заданным как 'on'
или 'off'
:
'on'
— Устанавливает текущий объект на Table
, когда пользователь кликает по компоненту в запущенном приложении. И свойство CurrentObject
Figure
и gco
функциональный возврат Table
как текущий объект.
'off'
Устанавливает текущий объект быть самым близким предком Table
, HitTest
которого является 'on'
, когда пользователь кликает по компоненту в запущенном приложении.
Используйте свойство Enable включить или отключить компонент.
Parent
— Родительский объектFigure
| Panel
| ButtonGroup
| Tab
Родительский объект, заданный как Figure
, Panel
, ButtonGroup
или объект Tab
. Используйте это свойство задать родительский контейнер при создании компонента UI или переместить существующий компонент UI в различный родительский контейнер.
Children
— дочерние элементы Table
Дочерние элементы Table
, возвращенные как пустой массив. объекты Table
не имеют никаких дочерних элементов. Установка этого свойства не имеет никакого эффекта.
HandleVisibility
Видимость указателя на объект'on'
(значение по умолчанию) | 'callback'
| 'off'
Видимость указателя на объект, заданного как 'on'
, 'callback'
или 'off'
.
Это свойство управляет видимостью указателя на объект в его родительском списке дочерних элементов. Когда указатель не видим в своем родительском списке дочерних элементов, он не возвращен функциями, которые получают указатели путем поиска иерархии объектов или запроса свойств указателя. Эти функции включают get
, findobj
, gca
, gcf
, gco
, newplot
, cla
, clf
и close
. Свойство HandleVisibility
также управляет видимостью указателя объекта в свойстве CurrentObject
родительской фигуры. Указатели все еще допустимы, даже если они не видимы. Если вы можете получить доступ к объекту, вы можете установить его, получить его свойства и передать его любой функции, которая работает с объектами.
Значение HandleVisibility | Описание |
---|---|
'on' | Указатель на объект всегда видим. |
'callback' | Указатель на объект видим из обратных вызовов или функций, вызванных обратными вызовами, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в командной строке, но позволяет обратным вызовам обращаться к нему. |
'off' | Указатель на объект невидим в любом случае. This option is useful for preventing unintended changes to the UI by another function. Set the HandleVisibility to 'off' to temporarily hide the handle during the execution of that function.
|
Установите графическое корневое свойство ShowHiddenHandles
на 'on'
делать все указатели видимыми, независимо от их значения HandleVisibility
. Эта установка не имеет никакого эффекта на их значения HandleVisibility
.
Ввод
Тип графического объектаuitable
Это свойство доступно только для чтения.
Тип графического объекта, возвращенного как 'uitable'
.
Тег
Идентификатор объекта''
(значение по умолчанию) | вектор символа | представляет скаляр в виде строкиИдентификатор объекта, заданный как вектор символа или скаляр строки. Можно задать уникальное значение Tag
, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте вашего кода, вы можете использовать функцию findobj для поиска объекта на основе значения тега.
UserData
UserData []
(значение по умолчанию) | массивПользовательские данные, заданные как любой массив. Определение UserData
может быть полезно для обмена данными в рамках приложений. Смотрите Осуществляют обмен данными Среди Обратных вызовов для получения дополнительной информации.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.