uistyle

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

Описание

пример

s = uistyle создает пустой стиль для таблицы или древовидного компонента пользовательского интерфейса и возвращает Style объект. Используйте Style объекты создать цветные и стили шрифта для ячеек в компонентах таблицы UI или узлов в древовидных компонентах пользовательского интерфейса. Используйте этот синтаксис, чтобы создать стиль, в который вы хотите добавить свойства позже.

пример

s = uistyle(Name,Value) задает Style значения свойств при помощи одних или нескольких аргументов name-value. Например, 'BackgroundColor','g' выбирает цвет фона к зеленому.

Примеры

свернуть все

Измените цвет фона для столбца таблицы путем создания стиля и применения его к таблице.

Создайте фигуру с компонентом таблицы UI в нем и заполните таблицу с числовыми данными.

fig = uifigure;
fig.Position = [500 500 520 220];
uit = uitable(fig);
uit.Data = rand(5);
uit.Position = [20 30 480 135];

Table UI component with some random data.

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

s = uistyle('BackgroundColor','red');
addStyle(uit,s,'column',2)

Table UI component. The cells in the second column have a red background.

Создайте несколько стилей и добавьте их в различные части компонента таблицы UI.

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

fig = uifigure;
fig.Position = [500 500 720 230];

uit = uitable(fig);
uit.Data = randi([-20,20],7);
uit.Position = [20 30 680 185];

[row,col] = find(uit.Data < 0);

Создайте два стиля цвета фона и один стиль, который задает цвет шрифта и вес. Добавьте голубой цвет фона в столбцы 1, 3, и 5. Подчеркните ячейки с отрицательными величинами путем создания их шрифта красным и полужирным. Затем строки 3 и 4 стиля с зеленым цветом фона. Наконец, снова используйте голубой стиль цвета фона и добавьте его в столбец 7. Для ячеек, где несколько стилей того же типа добавляются, стиль, который добавляется в последний раз, является тем, который отображается в ячейке.

s1 = uistyle;
s1.BackgroundColor = 'cyan';
addStyle(uit,s1,'column',[1 3 5])

s2 = uistyle;
s2.FontColor = 'red';
s2.FontWeight = 'bold';
addStyle(uit,s2,'cell',[row,col])

s3 = uistyle;
s3.BackgroundColor = 'green';
addStyle(uit,s3,'row',[3 4])

addStyle(uit,s1,'column',7)

Table UI component with 7 columns and 7 rows. The negative-valued data is displayed in bold red text. Cells in rows 3 and 4 and between columns 1 and 6 are green. The remaining cells in columns 1, 3, and 5 are cyan. All of the cells in column 7 are cyan.

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

Создайте древовидный компонент пользовательского интерфейса. Каждый узел верхнего уровня представляет папку. Каждый дочерний узел представляет файл в той папке. Расширьте дерево, чтобы видеть все узлы.

fig = uifigure('Position',[300 300 350 400]);
t = uitree(fig);

% Parent nodes
n1 = uitreenode(t,'Text','App 1');
n2 = uitreenode(t,'Text','App 2');
n3 = uitreenode(t,'Text','Images');

% Child nodes
n11 = uitreenode(n1,'Text','myapp1.m');
n21 = uitreenode(n2,'Text','myapp2.m');
n22 = uitreenode(n2,'Text','app2callback.m');
n31 = uitreenode(n3,'Text','peppers.png');
n32 = uitreenode(n3,'Text','corn.tif');

expand(t)

Tree with three top-level nodes with text "App 1", "App 2", and "Images", and nested nodes with file names.

Создайте три стиля: один с полужирной толщиной шрифта, один с углом курсивного шрифта, и один с синим цветом шрифта.

dirStyle = uistyle('FontWeight','bold');
imgStyle = uistyle('FontAngle','italic');
mStyle = uistyle('FontColor','blue');

Примените полужирный стиль к узлам верхнего уровня, чтобы отличить узлы, которые представляют папки. Примените синий стиль к дочерним элементам App 1 и App 2 узлы, чтобы отличить узлы, которые представляют MATLAB® программные файлы. Наконец, примените курсивный стиль к узлам, которые представляют файлы изображений.

addStyle(t,dirStyle,'level',1); 
addStyle(t,mStyle,'node',[n1.Children;n2.Children]);
addStyle(t,imgStyle,'node',[n31 n32]);

Tree UI component. The "App 1", "App 2", and "Images" nodes are bold, the nodes with file names that end in .m are blue, and the image file names are italic.

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

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

fig = uifigure('Position',[300 300 450 330]);
gl = uigridlayout(fig,[1 2]);
gl.ColumnWidth = {'1x','2x'};

tr = uitree(gl,'checkbox');
n1 = uitreenode(tr,'Text','Reptiles');
n11 = uitreenode(n1,'Text','Snake');
n12 = uitreenode(n1,'Text','Dinosaur');
n2 = uitreenode(tr,'Text','Amphibians');
n21 = uitreenode(n2,'Text','Turtle');
expand(tr)

tbl = uitable(gl,'Data',randi(100,[20 3]));

Figure with a check box tree and a table.

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

s = uistyle('FontColor',[0.1 0.5 0.06], ...
  'FontName','Calibri', ...
  'FontWeight','bold');
addStyle(tr,s)
addStyle(tbl,s)

Figure with a tree and a table. Both components use a bold, green Calibri font.

Входные параметры

свернуть все

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: s = uistyle('BackgroundColor','blue')

Цвет фона в виде триплета 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'

Sample of the color red

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

Sample of the color green

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

Sample of the color blue

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

Sample of the color cyan

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

Sample of the color magenta

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

Sample of the color yellow

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

Sample of the color black

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

Sample of the color white

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

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

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Цвет шрифта в виде триплета 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'

Sample of the color red

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

Sample of the color green

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

Sample of the color blue

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

Sample of the color cyan

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

Sample of the color magenta

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

Sample of the color yellow

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

Sample of the color black

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

Sample of the color white

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

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

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Толщина шрифта в виде одного из этих значений:

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

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

Не все шрифты имеют полужирное начертание шрифта. Для шрифтов, которые не делают, задавая 'bold' результаты в обычной толщине шрифта.

Угол шрифта в виде 'normal' или 'italic'. Не все шрифты имеют угол курсивного шрифта. Для шрифтов, которые не делают, задавая 'italic' результаты в углу обычного шрифта.

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

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

Выравнивание по горизонтали текста ячейки таблицы в виде одного из значений в таблице.

ЗначениеПример
'left'

'right'

'center'

Если вы добавляете Style объект, который задает выравнивание по горизонтали к компоненту таблицы UI, оно более приоритетно по сравнению с выравниваниями, сопоставленными со значениями формата ячеек, которые вы задаете для ColumnFormat свойство на Table объект. ColumnFormat свойство все еще преобразует значения, как оно обычно было бы.

Примечание

Если вы добавляете Style объект, который задает выравнивание по горизонтали к древовидному компоненту пользовательского интерфейса, свойство, не оказывает влияния на древовидный внешний вид.

Алгоритмы

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

uit = uitable(uifigure,'Data',rand(100,10)); 

s = uistyle; 
s.FontColor = 'blue'; 
addStyle(uit,s); 

uit.ForegroundColor = 'red';

Введенный в R2019b