ButtonGroup Properties

(App Designer) внешний вид и поведение группы Кнопки управления

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

Группы кнопок являются контейнерами для управления исключительный выбор переключателей и кнопок-переключателей. Свойства управляют внешним видом и поведением группы кнопок. Используйте запись через точку, чтобы относиться к конкретному объекту и свойству.

f = uifigure;
bg = uibuttongroup(f);
bg.Title = 'Options';

Заголовок

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

Заголовок, заданный как вектор символа или скаляр строки.

MATLAB® не интерпретирует вертикальную наклонную черту ('|') символ как разрыв строки, это отображается как вертикальная наклонная черта в заголовке.

Если вы хотите задать символ Unicode®, передайте десятичный код Unicode функции char. Например, ['Multiples of ' char(960)] отображается как Multiples of π.

Местоположение заголовка, заданного как 'lefttop', 'centertop' или 'righttop'.

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

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

Цвет заголовка, заданный как триплет 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]

Цвет фона, заданный как триплет 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]

Граница группы кнопок, заданная как 'line' или 'none'.

Шрифт

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

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

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

Пример: 'Arial'

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

Пример: 14

Толщина шрифта, заданная как одно из этих значений:

  • normal' — Насыщенность по умолчанию, определяемая конкретным видом шрифта

  • 'bold' — более тонкие контуры символов, чем 'normal'

Не все шрифты имеют полужирное начертание шрифта. Поэтому установка жирного шрифта привести к установке обычного шрифта.

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

Модуль шрифта измерения, заданного как 'pixels'. Расстояния в пикселях независимы от вашего системного разрешения по системам Макинтоша и Windows®:

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

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

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

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

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

Видимость группы кнопок, заданная как 'on' или 'off'. Свойство Visible определяет, отображена ли группа кнопок на экране. Если Visible свойство установлено в 'off', целая группа кнопок скрыта. Однако можно все еще задать и свойства доступа.

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

Примечание

Изменение свойства Visible объекта ButtonGroup не изменяет значения свойств Visible его дочерних компонентов. Это верно даже при том, что сокрытие группы кнопок заставляет дочерние элементы быть скрытым.

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

Кнопки, управляемые группой кнопок, возвращенной как массив RadioButton, возражают или массив объектов ToggleButton.

Это свойство не обязательно возвращает все дочерние компоненты объекта ButtonGroup. Если необходимо получить доступ к дочерним компонентам, которые не являются RadioButton или объектами ToggleButton, используют свойство Children.

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

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

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

Например, предположите, что ваша группа кнопок содержит три переключателя, и вы устанавливаете свойство SelectedObject на radiobutton3. MATLAB устанавливает свойство Value для каждого дочернего RadioButton можно следующим образом:

  • radiobutton1.Value = false;

  • radiobutton2.Value = false;

  • radiobutton3.Value = true;

Другими словами, установка свойства SelectedObject имеет тот же эффект как установка свойства Value RadioButton или ToggleButton.

Возможность прокрутки, заданная как 'off' или 'on'. Установка этого свойства к 'on' позволяет прокрутить в контейнере. Однако существуют дополнительные требования:

  • Дочерние компоненты в контейнере должны занять большую область, чем контейнер может отобразиться когда-то.

  • Компоненты, которые не помещаются в контейнер, должны быть выше или справа от контейнера. Вы не можете прокрутить к компонентам, которые являются ниже или слева от контейнера.

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

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

Положение

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

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

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

Все измерения заданы значением свойства Units.

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

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

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

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

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

Примечание

Это некоторые важные моменты, чтобы рассмотреть при использовании свойства InnerPosition:

  • Значения InnerPosition затронуты присутствием (или отсутствие) заголовка, характеристик шрифта и BorderType.

  • Значения InnerPosition относительно области векторной и растровой графики родительского контейнера. Область векторной и растровой графики является областью в границах контейнера и не включает область, занятую заголовком.

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

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

Модули измерения, заданного как 'pixels'.

Автоматически измените размер дочерних элементов, заданных как 'on' или 'off'.

  • Компоненты 'on' — Child автоматически изменяют размер, когда контейнер изменяет размер.

  • Компоненты 'off' — Child не изменяют размер.

Свойство AutoResizeChildren влияет на прямые дочерние элементы контейнера, не дочерние элементы во вложенных контейнерах.

Чтобы настроить поведение при изменении размера, установите свойство AutoResizeChildren на 'off' и создайте обратный вызов SizeChangedFcn для контейнера. Для получения дополнительной информации смотрите Управление Приложения Изменяемого размера в App Designer.

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

Параметры макета, заданные как объект GridLayoutOptions. Это свойство задает опции для компонентов, которые являются дочерними элементами контейнеров макетов сетки. Если компонент не является дочерним элементом контейнера макетов сетки (например, это - дочерний элемент фигуры или панели), то это свойство пусто и не имеет никакого эффекта. Однако, если компонент является дочерним элементом контейнера макетов сетки, можно поместить компонент в желаемую строку и столбец сетки путем установки свойств Row и Column на объекте GridLayoutOptions.

Например, этот код размещает группу кнопок в третью строку и второй столбец ее родительской сетки.

g = uigridlayout([4 3]);
bg = uibuttongroup(g);
bg.Layout.Row = 3;
bg.Layout.Column = 2;

Чтобы заставить группу кнопок охватить несколько строк или столбцов, задайте свойство Row или Column как двухэлементный вектор. Например, эта группа кнопок охватывает столбцы 2 через 3:

bg.Layout.Column = [2 3];

Обратные вызовы

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

Выбор изменил обратный вызов, заданный как одно из этих значений:

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

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

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

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

Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с кнопками. MATLAB передает эту информацию в объекте SelectionChangedData в качестве второго аргумента к вашей функции обратного вызова. In App Designer, the argument is called event. You can query the object properties using dot notation., Например, event.NewValue возвращает в настоящее время нажимаемую кнопку. Объект SelectionChangedData не доступен функциям обратного вызова, заданным как векторы символов.

В следующей таблице перечислены свойства объекта SelectionChangedData.

Свойство

Описание

OldValue

Ранее нажатая кнопка

NewValue

В настоящее время нажимаемая кнопка

Source

Компонент, который выполняет обратный вызов

EventName

'SelectionChanged'

Для получения дополнительной информации о записи обратных вызовов, смотрите Обратные вызовы Записи в App Designer.

Обратный вызов изменения размера, заданный как одно из этих значений:

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

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

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

Задайте этот обратный вызов, чтобы настроить размещение приложения когда размер этого контейнера изменения (e. g., когда пользователь изменяет размер окна).

Примечание

Обратный вызов SizeChangedFcn не выполнится, если свойство AutoResizeChildren этого контейнера не будет установлено в 'off'. В App Designer можно сделать исполняемый файл SizeChangedFcn путем очистки компонентов Resize, когда приложение является измененным флажком в панели UI Figure Properties.

Обратный вызов SizeChangedFcn выполняется когда:

  • Этот контейнер становится видимым впервые.

  • Этот контейнер видим, в то время как его размер изменяется.

  • Этот контейнер становится видимым впервые после того, как его размер изменится. Эта ситуация происходит, когда размер изменяется, в то время как контейнер невидим, и затем это становится видимым позже.

Другие важные моменты, чтобы рассмотреть при определении обратного вызова SizeChangedFcn:

  • Рассмотрите задержку отображения этого контейнера до окончания всех переменных, что использование SizeChangedFcn задано. Эта практика может препятствовать тому, чтобы обратный вызов SizeChangedFcn возвратил ошибку. Чтобы задержать отображение контейнера, установите его свойство Visible на 'off'. Затем установите свойство Visible на 'on' после того, как вы задаете переменные, которые использует ваш обратный вызов SizeChangedFcn.

  • Если ваше приложение содержит вложенные контейнеры, они изменяют размер от наизнанку.

  • Чтобы получить доступ к контейнеру, который изменяет размер из SizeChangedFcn, обратитесь к исходному объекту (первый входной параметр в обратном вызове) или используйте функцию gcbo.

Функция создания объекта, заданная как одно из этих значений:

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

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

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

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

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает объект. MATLAB initializes all property values before executing the CreateFcn callback. If you do not specify the CreateFcn property, then MATLAB executes a default creation function.

Настройка свойства CreateFcn в существующем компоненте не имеет никакого эффекта.

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

Функция удаления объекта, заданная как одно из этих значений:

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

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

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

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

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет объект. MATLAB executes the DeleteFcn callback before destroying the properties of the object. If you do not specify the DeleteFcn property, then MATLAB executes a default deletion function.

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

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

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

Прерывание обратного вызова, обозначаемое как 'on' или 'off'. Свойство «Прерывание» определяет, можно ли прерывать выполняемый обратный вызов.

Существует два состояния обратного вызова:

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

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

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

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

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

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

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

Примечание

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

  • Если прерывающий обратный вызов является обратным вызовом DeleteFcn, CloseRequestFcn или SizeChangedFcn, то прерывание происходит независимо от значения свойства прерывания.

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

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

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

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

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

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

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

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

  • отмена Не выполняет прерывание обратного вызова.

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

Удаление статуса, возврат на 'off' или 'on'. MATLAB задает значение свойства BeingDeleted 'on', когда обратный вызов DeleteFcn начинает выполнение. Значение свойства BeingDeleted остается 'on' до того момента, как объект перестанет существовать.

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

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

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

Родительский контейнер, заданный как Figure, создал использование функции uifigure или одного из ее дочерних контейнеров: Tab, Panel, ButtonGroup или GridLayout.

Дочерние элементы ButtonGroup, возвращенные как пустой GraphicsPlaceholder или 1D массив объектов компонента. Дочерние элементы объекта ButtonGroup могут быть любым объектом компонента UI, включая другой объект ButtonGroup.

Вы не можете добавить или удалить дочерние компоненты с помощью свойства Children ButtonGroup. Используйте значение свойства Children, чтобы просмотреть список дочерних элементов или переупорядочить дочерние элементы. Порядок дочерних элементов в массиве значения свойства отражает порядок "от первого до последнего" (порядок размещения) компонентов на экране.

Чтобы добавить дочерний элемент к этому списку, установите свойство Parent дочернего компонента к ButtonGroup.

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

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

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

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

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

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

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

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

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

Если вы работаете в App Designer, создаете общественные собственности или частные собственности в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать свойство UserData. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.

Введенный в R2016a

Была ли эта тема полезной?