Table Properties

Управляйте внешним видом и поведением компонента таблицы UI

Свойства, перечисленные здесь, допустимы для таблиц в GUIDE или в приложениях, созданных с figure функция. Если вы используете App Designer или uifigure функционируйте, смотрите Свойства таблиц вместо этого. Для получения дополнительной информации см. Стратегии Миграции GUIDE.

Таблица компоненты пользовательского интерфейса показывает строки и столбцы данных в приложении. uitable функция создает компонент таблицы UI и устанавливает любые необходимые свойства прежде, чем отобразить его. Путем изменения значений свойств можно изменить определенные аспекты его внешнего вида и поведения. Используйте запись через точку, чтобы относиться к конкретному объекту и свойству.

f = figure;
t = uitable(f,'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('Data',rand(10,3))

Пример: t = uitable('Data',{'blue' 5 true; 'orange' 25 false})

Заголовок столбца называет в виде одного из этих значений:

  • 'numbered' — Заголовки столбцов являются порядковыми номерами, которые запускаются в 1.

  • Массив ячеек из символьных векторов или категориальный массив — Каждый элемент массива становятся именем столбца. Если вы задаете 1- n массив ячеек, MATLAB хранит и возвращает значение как n- 1 cellArray. Если вы задаете m- n массив, MATLAB изменяет размерность массива в вектор-столбец. Задайте многострочное имя столбца включением вертикальной наклонной черты (|) в имени столбца. Например, значение, 'Telephone|Number', производит заголовок столбца с символом новой строки между словами, “Телефоном” и “Номером”.

  • Массив пустой ячейки ({}) — Таблица не имеет никаких заголовков столбцов.

  • Пустая матрица ([]) — Таблица не имеет никаких заголовков столбцов

Если количество столбцов в Data массив свойства не совпадает с числом элементов в ColumnName массив, затем количество столбцов в получившейся таблице является большими из этих двух значений.

Пример: t = uitable('ColumnName',{'Name'; 'Number'},'Data',{'Bob' 5})

Пример: t = uitable('ColumnName',{'Name'; []},'Data',{'Bob' 5})

Пример: t = uitable('ColumnName',{'Name'; 'Telephone|Number'},'Data',{'Bob','555-1212'})

Ширина столбцов таблицы в виде 'auto' или как 1- n cellArray.

Каждый столбец в массиве ячеек соответствует столбцу в таблице. Значения находятся в пиксельных модулях. Если вы задаете 'auto', затем MATLAB вычисляет ширину столбца автоматически с помощью нескольких факторов, одним из которых является ColumnName значение свойства.

Можно объединить фиксированные ширины столбца и 'auto' ширина столбцов в массиве ячеек, или можно задать одно значение 'auto' сделать всю ширину столбцов автоматической.

Выбор Auto Width в Редакторе Свойств таблицы оказывает то же влияние как установка ColumnWidth свойство к 'auto'.

Пример: t = uitable('ColumnWidth','auto','Data',[1 2 3; 4 5 6])

Пример: t = uitable('ColumnWidth',{64 60 40},'Data',[1 2 3; 4 5 6])

Пример: t = uitable('ColumnWidth',{64 'auto' 40},'Data',[1 2 3; 4 5 6])

Способность отредактировать ячейки столбца в виде:

  • Пустой логический массив ([]) — Никакие столбцы не доступны для редактирования.

  • Логический 1- n массив — Этот массив задает, какие столбцы доступны для редактирования. Значение n равно количеству столбцов в таблице. Каждое значение в массиве соответствует столбцу таблицы. Значение true в массиве делает ячейки в том столбце доступными для редактирования. Значение false делает ячейки в том столбце недоступными для редактирования.

  • Логический скаляр — целая таблица, доступная для редактирования или недоступная для редактирования.

Пример: t = uitable('Data',rand(10,3),'ColumnEditable',[false true true])

Пример: t = uitable('Data',rand(10,3),'ColumnEditable',false)

Столбцы таблицы, которые содержат флажки или всплывающие меню, должны быть доступными для редактирования, таким образом, пользователь может взаимодействовать с этими средствами управления.

Формат отображения ячейки в виде массива пустой ячейки или 1- n массив ячеек из символьных векторов.

Это свойство определяет как данные в каждом отображения столбца и ограничения для редактирования тех данных в пользовательском интерфейсе. Элементы массива ячеек соответствуют столбцам в Data массив свойства. Если вы не хотите задавать формат отображения для конкретного столбца, задайте [] для того столбца. Если вы не задаете формат для столбца, MATLAB определяет отображение по умолчанию по условию тип данных в ячейке.

Элементами массива ячеек должно быть одно из значений, описанных в следующей таблице.

Значение формата ячеек

Описание

'char'

Отобразите лево-выровненные по ширине значения

Чтобы отредактировать ячейку, пользователь вводит текст, чтобы заменить существующее значение.

Если элемент в Data массив свойства является логическим, затем true или false появляется в таблице.

'logical'

Отобразите флажки.

Чтобы отредактировать ячейку, пользователь выбирает или снимает флажок. Затем MATLAB устанавливает соответствующий Data значение к true или false.

ColumnEditable значением свойства должен быть true позволить пользователям выбирать или снимать флажки.

Первоначально, флажок устанавливается когда соответствующий Data значением является true. Соответствующие значения в Data массив свойства должен иметь тип logical гарантировать данные отображается правильно в таблице.

'numeric'

Отобразите выровненное по правому знаку значение, эквивалентное отображению Командного окна для числовых данных. Если элемент в Data массив свойства является логическим, затем 1 или 0 появляется в таблице. Если элемент в Data массив свойства не является числовым и не логическим, затем NaN появляется в таблице.

Чтобы отредактировать ячейку, пользователь может ввести любой текст.

Если пользователь вводит текст, который представляет константу, такую как pi, можно закодировать CellEditCallback функционируйте, чтобы преобразовать значение в числовой эквивалент. В этом случае MATLAB пытается преобразовать вводимый пользователем текст в числовое значение и хранит его в Data свойство. Затем CellEditCallback функция выполняется. Смотрите CellEditCallback описание для примера.

1- n массив ячеек из символьных векторов, такой как {'one' 'two' 'three'}

Отобразите всплывающее меню.

Чтобы отредактировать ячейку, пользователь выбирает элемент из всплывающего меню. MATLAB устанавливает соответствующий Data значение свойства массивов к выбранному пункту меню. ColumnEditable значением свойства должен быть true позволить пользователям выбирать элементы во всплывающем меню.

Имя формата принято format функция, такая как: 'short' или 'long'

Отобразите Data значения свойств с помощью заданного формата.

Эффект всплывающего меню ColumnFormat и различные типы данных

Если 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
'numeric''char''logical'
Тип данных значения массива данныхЛюбой числовой типТаблица показывает номер как есть.MATLAB преобразует значение в текст и отображает лево-выровненный по ширине в таблице. Если MATLAB не может преобразовать значение, то NaN отображения.Не рекомендуемый. MATLAB может возвратить предупреждение, когда пользователь редактирует ячейку, если вы не задаете CellEditCallback функция.
charТаблица показывает выровненное по правому знаку значение, как будто это - номер.Таблица показывает значение как есть.Не рекомендуемый. MATLAB может возвратить предупреждение, когда пользователь редактирует ячейку, если вы не задаете CellEditCallback функция.
logicalТаблица показывает логические значения как числа. MATLAB может возвратить предупреждение, когда пользователь редактирует ячейку, если вы не задаете CellEditCallback функция.Таблица показывает логическое значение как лево-выровненный по ширине 'true' или 'false'. MATLAB может возвратить предупреждение, когда пользователь редактирует ячейку, если вы не задаете CellEditCallback функция.Таблица показывает логические значения как флажки.

Например, в следующей таблице, первый столбец (XData) оставляют выровненным по ширине потому что ColumnFormat значением для того столбца является 'char'.

Заголовок строки называет в виде одного из этих значений:

  • 'numbered' — Заголовки строк являются порядковыми номерами, которые запускаются в 1.

  • Массив ячеек из символьных векторов или категориальный массив — Каждый элемент массива становятся именем строки. Имена строки ограничиваются одной линией текста. Если вы задаете 1- n массив ячеек, MATLAB хранит и возвращает значение как n- 1 cellArray. Если вы задаете m- n массив, MATLAB изменяет размерность массива в вектор-столбец.

  • Массив пустой ячейки ({}) — Таблица не имеет никаких заголовков строк.

  • Пустая матрица ([]) — Таблица не имеет никаких заголовков строк

Если количество строк в Data массив свойства не совпадает с числом элементов в RowName массив, затем количество строк в получившейся таблице является большими из этих двух значений.

Пример: t = uitable('RowName',{'Name';'Number'},'Data',{'Bob';5})

Пример: t = uitable('RowName',{'Name';[]},'Data',{'Bob';5})

Способность перестроить столбцы таблицы в виде 'off' или 'on', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

Это свойство обеспечивает способ позволить пользователям переупорядочить столбцы таблицы (но не метки) путем перетаскивания заголовков столбцов.

Примечание

Реорганизация столбцов таблицы в пользовательском интерфейсе не влияет на столбцы в Data массив свойства.

Шрифт

развернуть все

Название шрифта в виде системы поддержало название шрифта или 'FixedWidth'Шрифт по умолчанию зависит от конкретной операционной системы и локали.

Чтобы использовать шрифт фиксированной ширины, который выглядит хорошим в любой локали, задайте 'FixedWidth'. Фактический используемый шрифт фиксированной ширины зависит от FixedWidthFontName свойство корневого объекта. Изменение FixedWidthFontName свойство заставляет незамедлительное обновление отображения использовать новый шрифт.

Пример: 'Arial'

Размер шрифта, заданный в виде положительного числа. FontUnits свойство задает модули. Размер по умолчанию системно-зависим.

Пример: 12

Пример: 12.5

Толщина шрифта в виде значения из следующей таблицы.

  • 'normal' — Вес по умолчанию, как задано конкретным шрифтом

  • 'bold' — Более толстые символьные основы, чем нормальный

MATLAB использует FontWeight свойство выбрать шрифт от доступных в вашей системе. Не все шрифты имеют полужирное начертание шрифта. Поэтому установка жирного шрифта все еще привести к установке обычного шрифта.

Примечание

'light' и 'demi' значения толщины шрифта были удалены в R2014b. Если вы задаете любое из этих значений, результатом является обычная толщина шрифта.

Угол шрифта в виде 'normal' или 'italic'. MATLAB использует это свойство выбрать шрифт от доступных в вашей системе. Установка этого свойства к 'italic' выбирает наклонную версию шрифта, если это доступно в вашей системе.

Примечание

'oblique' значение было удалено. Используйте 'italic' вместо этого.

Модули шрифта в виде одного из значений из этой таблицы.

Модульное значениеОписание
'points''points'. Одна точка является 1/72-й из дюйма.
'normalized'Нормированные значения для определения размера шрифта как часть высоты. Когда вы изменяете размер компонента пользовательского интерфейса, MATLAB масштабирует отображенный шрифт, чтобы обеспечить ту часть.
'inches''inches'.
'centimeters''centimeters'.
'pixels'

'pixels'.

Начиная с версии R2015b, значения размеров в пикселях не зависят от вашего системного разрешения в системах Windows® и Macintosh:

  • В системах Windows пиксель составляет 1/72 дюйма.

  • В системах Macintosh пиксель составляет 1/72 дюйма.

В системах Linux® размер пикселя определяется вашим системным разрешением.

Интерактивность

развернуть все

Состояние видимости в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

  • 'on' — Отобразите объект.

  • 'off' — Скройте объект, не удаляя его. Все еще можно получить доступ к свойствам невидимого компонента пользовательского интерфейса.

Чтобы заставить ваше приложение запуститься быстрее, установите Visible свойство к 'off' для всех компонентов пользовательского интерфейса, которые не должны появляться при запуске.

Рабочее состояние таблицы в виде 'on''off', или 'inactive'. Enable свойство управляет, отвечает ли компонент пользовательского интерфейса на нажатия кнопок. Трех возможных значений:

  • 'on' – Компонент пользовательского интерфейса является операционным.

  • 'off' – Компонент пользовательского интерфейса не является операционным и появляется grayed.

  • 'inactive' – Компонент пользовательского интерфейса не является операционным, но он имеет тот же внешний вид как тогда, когда Enable 'on'.

Значение Enable свойство и тип нажатия кнопки определяют, как пользовательский интерфейс отвечает.

Включите значениеОтвет, чтобы щелкнуть левой кнопкойОтвет, чтобы щелкнуть правой кнопкой
'on'

CellSelectionCallback функция выполняется (только для ячеек таблицы, не ячеек заголовка). Indices свойство обновляется в объекте данных коллбэка, который MATLAB передает функции обратного вызова.

  1. WindowButtonDownFcn фигуры коллбэк выполняется.

  2. ButtonDownFcn коллбэк выполняется.

'off' или 'inactive'

  1. WindowButtonDownFcn фигуры коллбэк выполняется.

  2. ButtonDownFcn коллбэк выполняется.

  1. WindowButtonDownFcn фигуры коллбэк выполняется.

  2. ButtonDownFcn коллбэк выполняется.

Подсказка в виде вектора символов, строкового скаляра или категориального массива. Используйте это свойство отобразить сообщение, когда пользователь наведет указатель на компонент во время выполнения. Подсказка не отображается, когда компонент отключен. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.

Чтобы создать несколько линий текста, используйте sprintf функционируйте, чтобы вставить символы новой строки ('\n') в вашем тексте. Например:

txt = sprintf('Line 1\nLine 2');

Затем установите Tooltip свойство к значению, возвращенному sprintf.

Контекстное меню в виде ContextMenu объект создал использование uicontextmenu функция. Используйте это свойство отобразить контекстное меню, когда вы щелкнете правой кнопкой по компоненту.

Подсказка в виде вектора символов, строкового скаляра или категориального массива. Подсказка появляется, когда вы наводите на компонент в приложении. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, не полный набор категорий.

Примечание

TooltipString свойство не рекомендуется, начиная в R2018b. Используйте Tooltip свойство вместо этого.

Примечание

Поведение Selected свойство изменилось в R2014b, и это не рекомендуется. Это больше не оказывает влияния на объекты этого типа. Это свойство может быть удалено в будущем релизе.

Примечание

Поведение SelectionHighlight свойство изменилось в R2014b, и это не рекомендуется. Это больше не оказывает влияния на объекты этого типа. Это свойство может быть удалено в будущем релизе.

Цвет и моделирование

развернуть все

Цвет текста ячейки в виде триплета RGB, шестнадцатеричного цветового кода или одного из перечисленных в таблице параметров цвета.

Триплеты RGB и шестнадцатеричные цветовые коды полезны для определения пользовательских цветов.

  • Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]; например, [0.4 0.6 0.7].

  • Шестнадцатеричный цветовой код является вектором символов или строковым скаляром, который запускается с символа хеша (#) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0 к F. Значения не являются чувствительными к регистру. Таким образом, цветовые коды '#FF8800', '#ff8800', '#F80', и '#f80' эквивалентны.

Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.

Название цветаКраткое названиеТриплет RGBШестнадцатеричный цветовой кодВнешний вид
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Цвет фона в виде триплета RGB или m-3 матрицы триплетов RGB. Триплет RGB является вектором-строкой, который задает интенсивность красных, зеленых, и синих компонентов цвета. Интенсивность должна быть в области значений, [0,1]. Названия цвета не допустимы.

Задайте m-3 матрицу, когда это необходимо, штриховка строк таблицы, чтобы следовать за повторяющимся шаблоном m различных цветов. Каждой строкой матрицы должен быть триплет RGB. MATLAB использует строки матрицы когда RowStriping свойством является 'on'. Табличный фон не чередуется если оба RowStriping 'on' и BackgroundColor m-3 матрица.

Пример: t = uitable('Data',rand(10,3),'BackgroundColor',[0.85 0.85 1])

Пример: t = uitable('Data',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]

Альтернативная штриховка строки в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

Это свойство управляет шаблоном штриховки строк таблицы. Когда RowStriping значение установлено к 'on', BackgroundColor матрица задает цвета строки, чтобы отобразиться в повторяющемся шаблоне. Если BackgroundColor матрица имеет только одну строку, затем штриховка является тем же самым во всех строках таблицы.

Когда RowStriping установлен в 'off', затем первые раскрашивают BackgroundColor матрица задает штриховку для всех строк в таблице.

Положение

развернуть все

Местоположение и размер в виде четырехэлементного вектора формы [left bottom width height]В этой таблице описываются каждый элемент в векторе.

ЭлементОписание
leftРасстояние от внутреннего левого края родительского контейнера к внешнему левому краю таблицы
bottomРасстояние от внутреннего базового края родительского контейнера к внешнему базовому краю таблицы
widthРасстояние между правыми и левыми внешними краями таблицы
heightРасстояние между верхними и нижними внешними краями таблицы

Все измерения находятся в модулях, заданных Units свойство.

Примечание

Position значения относительно drawable area родительского контейнера. Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую заголовком. Если родительский контейнер является фигурой, то область векторной и растровой графики также исключает панель меню и панель инструментов.

Используйте Extent свойство определить соответствующую калибровку для таблицы относительно данных. Установите width и height из Position свойство к ширине и высоте Extent свойство. Следует иметь в виду, что, если таблица имеет значительные степени, делая это, может заставить таблицу расширять вне права или верхнего края его родительского контейнера.

Пример: Установка ширины и высоты размещать размер данных

Можно объединить запись через точку и индексацию массива, когда это необходимо, чтобы изменить одно или два последовательных значения в Position вектор. Например, это кодовые наборы ширина и высота таблицы, чтобы совпадать с Extent из таблицы:

t = uitable('Data',rand(10,3));
t.Position(3:4) = t.Extent(3:4);

Местоположение и размер в виде четырехэлементного вектора формы [left bottom width height]. Все измерения находятся в модулях, заданных Units свойство.

Это значение свойства идентично Position и OuterPosition значения свойств.

Местоположение и размер в виде четырехэлементного вектора формы [left bottom width height]. Все измерения находятся в модулях, заданных Units свойство.

Это значение свойства идентично Position и InnerPosition значения свойств.

Это свойство доступно только для чтения.

Размер включения прямоугольника, возвращенного как четырехэлементный вектор-строка. Первыми двумя элементами вектора всегда является нуль. Третьими и четвертыми элементами является ширина и высота прямоугольника, содержащего таблицу, соответственно. Все измерения находятся в модулях, заданных Units свойство.

MATLAB определяет размер прямоугольника на основе текущего DataRowName и ColumnName значения свойств. MATLAB оценивает значения ширины и высоты с помощью ширин строки и столбца. Предполагаемая степень может быть больше, чем фигура.

Рассмотрите использование Extent значение свойства при определении значений ширины и высоты Position свойство.

Единицы измерения в виде одного из значений из этой таблицы.

Модульное значениеОписание
'pixels' (значение по умолчанию)

'pixels'.

Начиная в R2015b, расстояния в пикселях независимы от вашего системного разрешения по системам Макинтоша и Windows:

  • В системах Windows пиксель составляет 1/72 дюйма.

  • В системах Macintosh пиксель составляет 1/72 дюйма.

В системах Linux размер пикселя определяется вашим системным разрешением.

'normalized'Эти модули нормированы относительно родительского контейнера. Нижний левый угол контейнера сопоставляет с (0,0) и верхний правый угол сопоставляет с (1,1).
'inches''inches'.
'centimeters''centimeters'.
'points''points'. Одна точка равняется 1/72-й из дюйма.
'characters'

Эти модули основаны на шрифте uicontrol по умолчанию графического корневого объекта:

  • Ширина символов = ширина буквы x.

  • Высота символа = расстояние между базовыми линиями двух строк текста.

Чтобы получить доступ к шрифту uicontrol по умолчанию, используйте get(groot,'defaultuicontrolFontName') или set(groot,'defaultuicontrolFontName').

MATLAB измеряет все модули от левого нижнего угла родительского объекта.

Это свойство влияет на Position свойство. Если вы изменяете Units свойство, полагайте, что возвращение его значения к значению по умолчанию после завершения вашего расчета старается не влиять на другие функции, которые принимают значение по умолчанию.

Порядок, в котором вы задаете Units и Position свойства оказывают эти влияния:

  • Если вы задаете Units перед Position свойство, затем MATLAB устанавливает Position с помощью модулей вы задаете.

  • Если вы задаете Units свойство после Position свойство, MATLAB устанавливает положение с помощью Units по умолчанию. Затем MATLAB преобразует Position значение к эквивалентной стоимости в модулях вы задаете.

Коллбэки

развернуть все

Функция обратного вызова редактирования ячейки в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об указании значения свойства обратного вызова, например, указателя на функцию, массива ячеек или символьного вектора, см. Раздел "Как задать значения свойств обратного вызова".

Эта функция выполняется, когда пользователь изменяет содержимое ячейки таблицы. Можно использовать эту функцию обратного вызова, чтобы выполнить вычисления или подтвердить ввод данных пользователем.

Если вы задаете это свойство как указатель на функцию (или массив ячеек, содержащий указатель на функцию), MATLAB передает CellEditData объект, содержащий данные о событиях в качестве второго аргумента к функции обратного вызова. Этот объект содержит свойства, описанные в следующей таблице. Можно получить доступ к этим свойствам в функции обратного вызова с помощью записи через точку.

Свойство

Описание

Indices

1 2 массив, содержащий индексы строки и столбца ячейки пользователь, отредактирован.

PreviousData

Предыдущие данные о ячейке. Значением по умолчанию является пустая матрица, [].

EditData

Вводимое пользователями значение.

NewData

Значение, которое MATLAB записал в Data массив свойства. Это значение является любой тем же самым как EditData или конвертированное значение.

NewData свойство пусто, если MATLAB обнаруживает ошибку во вводимых пользователями данных.

Error

Сообщение об ошибке возвратилось, если MATLAB обнаруживает ошибку во вводимых пользователями данных.

Error свойство пусто, когда MATLAB успешно пишет значение в Data свойство.

Если Error свойство не пусто, затем CellEditCallback может отобразить сообщение, или оно может попытаться решить проблему.

Source

Объект таблицы, который выполняет CellEditCallback функция.

EventName

'CellEdit'

Когда пользователь редактирует ячейку таблицы, MATLAB выполняет эти шаги:

  1. Попытки сохранить новое значение в Data свойство таблицы

  2. Вызывает 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.

Функция обратного вызова выбора ячейки в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об указании значения свойства обратного вызова, например, указателя на функцию, массива ячеек или символьного вектора, см. Раздел "Как задать значения свойств обратного вызова".

Эта функция обратного вызова выполняется, когда пользователь выполняет одно из следующих действий:

  • Подсвечивает ячейку данных (не ячейка строки или ячейка заголовка столбца) путем нажатия на него или навигации к нему с клавишей со стрелкой

  • Выбирает прямоугольную группу ячеек путем удержания клавиши Shift при выборе ячеек

  • Отменяет выбор ячейки Ctrl - нажатие на него

Если вы задаете это свойство как указатель на функцию (или массив ячеек, содержащий указатель на функцию), MATLAB передает CellSelectionChangeData объект, содержащий данные о событиях в качестве второго аргумента к функции обратного вызова. Этот объект содержит свойства, перечисленные в следующей таблице.

Свойство

Описание

Indices

массив n-2, содержащий индексы строки и столбца ячейки пользователь, выбран.

Source

Объект таблицы, который выполняет CellSelectionCallback функция.

EventName

'CellSelection'

Функция обратного вызова нажатия кнопки в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об указании значения свойства обратного вызова, например, указателя на функцию, массива ячеек или символьного вектора, см. Раздел "Как задать значения свойств обратного вызова".

ButtonDownFcn коллбэк является функцией, которая выполняется, когда пользователь щелкает кнопкой мыши по компоненту пользовательского интерфейса. Коллбэк выполняется в следующих ситуациях:

  • Пользователь щелкает правой кнопкой по таблице и Enable свойство установлено в 'on'.

  • Пользователь щелкает правой кнопкой или щелкает левой кнопкой по таблице и Enable свойство установлено в 'off' или 'inactive'.

Функция обратного вызова нажатия клавиши в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об указании значения свойства обратного вызова, например, указателя на функцию, массива ячеек или символьного вектора, см. Раздел "Как задать значения свойств обратного вызова".

Эта функция обратного вызова выполняется когда Table объект фокусируется, и пользователь нажимает клавишу. Если вы не задаете функцию для этого свойства, MATLAB передает нажатия клавиш родительской фигуре. Повторные нажатия клавиш сохраняют особое внимание Table объект и функция выполняются с каждым нажатием клавиши. Если пользователь нажимает несколько клавиш приблизительно в то же время, MATLAB обнаруживает нажатие клавиши для последней нажатой клавиши.

Если вы задаете это свойство как указатель на функцию (или массив ячеек, содержащий указатель на функцию), MATLAB передает объект, содержащий данные о коллбэке в качестве второго аргумента к функции обратного вызова. Этот объект содержит свойства, описанные в следующей таблице. Можно получить доступ к этим свойствам в функции обратного вызова с помощью записи через точку.

Свойство

Описание

Примеры:

a

=

Сдвиг

Shift-a

CharacterСимвол, который отображается в результате нажатия клавиши или ключей. Символ может быть пустым или непечатным.'a''=''''A'
ModifierМассив ячеек, содержащий имена одной или нескольких модифицирующих клавиш, которые нажимаются (такой как, Ctrl, Alt, Shift).{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, Alt, Shift, и несколько других ключей, не генерирует Character данные о свойстве.

Также можно запросить CurrentCharacter свойство фигуры определить, которые изображают нажатого пользователя.

Функция обратного вызова ключевого релиза в виде одного из этих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об указании значения свойства обратного вызова, например, указателя на функцию, массива ячеек или символьного вектора, см. Раздел "Как задать значения свойств обратного вызова".

Эта функция обратного вызова выполняется когда Table объект фокусируется, и пользователь отпускает клавишу.

Если вы задаете это свойство как указатель на функцию (или массив ячеек, содержащий указатель на функцию), MATLAB передает объект, содержащий данные о коллбэке в качестве второго аргумента к функции обратного вызова. Этот объект содержит свойства, описанные в следующей таблице. Можно получить доступ к этим свойствам в функции обратного вызова с помощью записи через точку.

Свойство

Описание

Примеры:

a

=

Сдвиг

Shift-a

Character

Символьная интерпретация клавиши, которая была отпущена.

'a''=''''A'
Modifier

Текущий модификатор, такой как 'control', или массив пустой ячейки, если нет никакого модификатора.

{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, Alt, Shift, и несколько других ключей, не генерирует Character данные о свойстве.

Также можно запросить CurrentCharacter свойство фигуры определить, которые изображают нажатого пользователя.

Функция создания компонентов, заданная в качестве одного из следующих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об указании значения свойства обратного вызова, например, указателя на функцию, массива ячеек или символьного вектора, см. Раздел "Как задать значения свойств обратного вызова".

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает компонент. MATLAB инициализирует все значения свойства компонентов прежде, чем выполнить CreateFcn 'callback'. Если вы не задаете CreateFcn свойство, затем MATLAB выполняет функцию создания по умолчанию.

Используйте gcbo функционируйте в своем CreateFcn код, чтобы получить объект компонента, который создается.

Установка CreateFcn свойство на существующем объекте компонента не оказывает влияния.

Функция удаления компонента, заданная в качестве одного из следующих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об указании значения свойства обратного вызова, например, указателя на функцию, массива ячеек или символьного вектора, см. Раздел "Как задать значения свойств обратного вызова".

DeleteFcn свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет компонент (например, когда пользователь закрывает окно). MATLAB выполняет DeleteFcn коллбэк прежде, чем уничтожить свойства объекта компонента. Если вы не задаете DeleteFcn свойство, затем MATLAB выполняет функцию удаления по умолчанию.

Используйте gcbo функционируйте в своем DeleteFcn код, чтобы получить объект компонента, который удаляется.

Контроль выполнения обратного вызова

развернуть все

Прерывание коллбэка в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

Interruptible свойство определяет, может ли рабочий коллбэк быть прерван. Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Interruptible свойство объекта, владеющего рабочим коллбэком, определяет, позволено ли прерывание:

  • Значение 'on' позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnowфигураgetframewaitfor, или pause.

    • Если текущий обратный вызов содержит одну из этих команд, MATLAB останавливает выполнение обратного вызова в этой точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.

    • Если текущий обратный вызов не содержит одну из этих команд, MATLAB завершает выполнение обратного вызова без прерывания.

  • Значение 'off' блоки все попытки прерывания. BusyAction свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли прерывание обратного вызова или помещается в очередь.

Примечание

Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:

  • Если прерыванием обратного вызова является DeleteFcnCloseRequestFcn , или SizeChangedFcn коллбэк, затем прерывание происходит независимо от Interruptible значение свойства.

  • Если рабочий коллбэк является выполняющимся в данным моментом waitfor функция, затем прерывание происходит независимо от Interruptible значение свойства.

  • Timer объекты выполняются согласно расписанию независимо от Interruptible значение свойства.

  • MATLAB не сохраняет состояние свойств или отображения, когда прерывание происходит. Например, объект, возвращенный gca или gcf команда может измениться, когда другой коллбэк выполняется.

Смотрите Выполнение обратного вызова Прерывания для примера, который показывает как Interruptible и BusyAction свойства влияют на поведение программы.

Постановка в очередь коллбэка, заданная как 'queue' (значение по умолчанию) или 'cancel'. BusyAction свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова. Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

BusyAction свойство источника прерывания обратного вызова определяет, как MATLAB обрабатывает свое выполнение. BusyAction свойство имеет эти значения:

  • 'queue' — Поместите прерывание обратного вызова в очередь, чтобы быть обработанными после рабочего выполнения концов коллбэка.

  • 'cancel' — Не выполняйте прерывание обратного вызова.

Каждый раз, когда MATLAB вызывает коллбэк, тот коллбэк всегда пытается прервать выполняющийся коллбэк. Interruptible свойство объекта, коллбэк которого запускается, определяет, позволено ли прерывание. Если Interruptible установлен в:

  • on — Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь. Это значение по умолчанию.

  • offBusyAction свойство (объекта, владеющего прерыванием обратного вызова), определяет, ставит ли MATLAB в очередь или игнорирует прерывание обратного вызова.

Смотрите Выполнение обратного вызова Прерывания для примера, который показывает как BusyAction и Interruptible свойства влияют на поведение программы.

Это свойство доступно только для чтения.

Состояние Deletion, возвращенное как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

MATLAB устанавливает BeingDeleted свойство к 'on' когда DeleteFcn коллбэк начинает выполнение. BeingDeleted свойство остается установленным в 'on' пока объект компонента больше не существует.

Проверяйте значение BeingDeleted свойство проверить, что объект не собирается быть удаленным прежде, чем запросить или изменить его.

Способность стать текущим объектом в виде 'on' или 'off', или как числовой или логический 1 TRUE) или 0 ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState.

  • 'on' — Устанавливает текущий объект на Table когда пользователь кликает по компоненту в запущенном приложении. Оба CurrentObject свойство Figure и gco функциональный возврат Table как текущий объект.

  • 'off' — Устанавливает текущий объект быть самым близким предком Table чей HitTest 'on' когда пользователь кликает по компоненту в запущенном приложении.

Родительский элемент/Дочерний элемент

развернуть все

Родительский объект в виде FigureПанельГруппа кнопок, или Tab объект. Используйте это свойство задать родительский контейнер при создании компонента пользовательского интерфейса или переместить существующий компонент пользовательского интерфейса в различный родительский контейнер.

Table дочерние элементы, возвращенные как пустой массив. Table объекты не имеют никаких дочерних элементов. Установка этого свойства не оказывает влияния.

Видимость указателя на объект в виде 'on''callback', или 'off'.

Это свойство управляет видимостью указателя на объект в его родительском списке дочерних элементов. Когда указатель не отображается в его родительском списке дочерних элементов, он не возвращен функциями, которые получают указатели путем поиска иерархии объектов или запроса свойств указателя. Эти функции включают getfindobjgcagcfgconewplotclaclf, и close. HandleVisibility свойство также управляет видимостью указателя объекта в CurrentObject родительской фигуры свойство. Указатели все еще допустимы, даже если они не отображаются. Если вы можете получить доступ к объекту, вы можете установить его, получить его свойства и передать его любой функции, которая работает с объектами.

Значение HandleVisibilityОписание
'on'Указатель на объект всегда отображается.
'callback'Указатель на объект отображается из коллбэков или функций, вызванных коллбэками, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в командной строке, но позволяет обратным вызовам обращаться к нему.
'off'Указатель на объект невидим в любом случае. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите HandleVisibility к 'off' временно скрыть указатель во время выполнения этой функции.

Установите графический корневой ShowHiddenHandles свойство к 'on' сделать все указатели видимыми, независимо от их HandleVisibility значение. Эта установка не оказывает влияния на их HandleVisibility значения.

Идентификаторы

развернуть все

Это свойство доступно только для чтения.

Тип графического объекта, возвращенного как 'uitable'.

Идентификатор объекта в виде вектора символов или строкового скаляра. Можно задать уникальный Tag значение, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте в вашем коде, можно использовать findobj функционируйте, чтобы искать основанное на объектах на Tag значение.

Пользовательские данные в виде любого массива. Определение UserData может быть полезно для обмена данными в рамках приложений. Смотрите Осуществляют обмен данными Среди Коллбэков для получения дополнительной информации.

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2020a

Введенный в R2008a

Для просмотра документации необходимо авторизоваться на сайте