exponenta event banner

uipushtool

Создание инструмента толкания на панели инструментов

Описание

pt = uipushtool создает инструмент толкания на панели инструментов текущего рисунка и возвращает PushTool объект.

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

Нажимные инструменты ведут себя как нажимные кнопки. При нажатии на них появляется впечатление, что они нажимаются до тех пор, пока не будет отпущена кнопка мыши.

пример

pt = uipushtool(parent) создает инструмент толкания на указанной родительской панели инструментов.

пример

pt = uipushtool(___,Name,Value) создает инструмент push со значениями свойств, заданными с помощью одного или нескольких аргументов пары имя-значение. Укажите пары имя-значение с любым из предыдущих синтаксисов.

Примеры

свернуть все

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

fig = uifigure;
tb = uitoolbar(fig);

UI figure with an empty toolbar.

Добавьте инструмент толкания на панель инструментов. Инструмент перемещения отображает значок по умолчанию.

pt = uipushtool(tb);

UI figure that displays a toolbar and a push tool with the default icon.

Добавьте значок к инструменту перемещения, установив Icon значение свойства для файла изображения greencircleicon.gif.

pt.Icon = fullfile(matlabroot,'toolbox','matlab','icons','greencircleicon.gif');

UI figure that displays a toolbar and a push tool with a green circle icon.

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

f = figure;
tb = uitoolbar(f);

Figure that displays the default toolbar and another empty toolbar below it.

Создайте инструмент толкания на панели инструментов. Прочтите новый значок из индексированного файла изображения, matlabicon.gif. Преобразование индексированного изображения в массив цветных изображений RGB. Добавьте значок в инструмент перемещения, установив CData для массива изображения truecolor.

pt = uipushtool(tb);

[img,map] = imread(fullfile(matlabroot,...
            'toolbox','matlab','icons','matlabicon.gif'));
ptImage = ind2rgb(img,map);

pt.CData = ptImage;

Figure that displays the default toolbar and another toolbar below it that contains a push tool with the MathWorks logo.

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

Создайте фигуру, вызвав figure функция.

f = figure;

Figure with the default toolbar.

Получение дескриптора панели инструментов по умолчанию путем поиска всех объектов типа 'uitoolbar' которые на рисунке.

defaultToolbar = findall(f,'Type','uitoolbar')
defaultToolbar = 

  Toolbar (FigureToolBar) with properties:

    Children: [0×0 GraphicsPlaceholder]

Создайте инструмент толкания на панели инструментов по умолчанию. Создайте множество случайных ценностей RGB 16 на 16 на 3, чтобы быть ее символом. Добавьте значок в инструмент перемещения, установив CData для этого массива.

pt = uipushtool(defaultToolbar);
ptImage = rand(16,16,3);
pt.CData = ptImage;

Figure with a custom push tool added as the right-most icon in the default toolbar.

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

Сначала создайте файл программы с именем colorPickerPushTool.m. В файле программы:

  • Создайте рисунок пользовательского интерфейса.

  • Создайте панель инструментов на рисунке пользовательского интерфейса.

  • Создайте инструмент толкания на панели инструментов.

  • Добавьте соответствующий значок в инструмент push, установив Icon значение свойства для полного пути к файлу paintbrush.gif.

  • Создайте подсказку для инструмента толкания.

  • Установите ClickedCallback свойство для дескриптора функции, который ссылается на функцию обратного вызова с именем colorToolClicked.

  • Создание функции обратного вызова с именем colorToolClicked. В нем позвоните uisetcolor функция позволяет открыть диалоговое окно палитры цветов при нажатии инструмента на панели инструментов. Задайте цвет по умолчанию для палитры цветов как цвет фигуры пользовательского интерфейса и укажите название палитры цветов как 'Select UI Figure Color'. Сделайте пользовательский интерфейс фигурой текущего рисунка так, чтобы он отображался поверх всех остальных фигур.

function colorPickerPushTool
fig = uifigure('Position',[350 500 400 300]);
tb = uitoolbar(fig);

pt = uipushtool(tb);
pt.Icon = fullfile(matlabroot,'toolbox','matlab','icons','paintbrush.gif');
pt.Tooltip = 'Change UI Figure Color';
pt.ClickedCallback = @colorToolClicked;

    function colorToolClicked(src,event)
        c = uisetcolor(fig,'Select UI Figure Color');
        figure(fig)
    end

end

Управляемый colorPickerPushTool. Чтобы открыть палитру цветов, нажмите кнопку «Push». Затем выберите цвет для изменения цвета фона фигуры пользовательского интерфейса.

colorPickerPushTool

UI figure that displays a paintbrush icon in a toolbar push tool. The color picker dialog box displays to the right of the UI figure.

Входные аргументы

свернуть все

Родительская панель инструментов, заданная как Toolbar объект. Это свойство используется для задания родительской панели инструментов при создании инструмента толкания или для перемещения существующего инструмента на другую панель инструментов.

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

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

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

Аргументы пары «имя-значение»

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

Пример: 'Separator','on' устанавливает режим разделительной линии в значение 'on'.

Примечание

Перечисленные здесь свойства являются только подмножеством. Полный список см. в разделе Свойства инструмента.

Источник или файл значка, указанный как вектор символа, скаляр строки или mоколо-n-на-3 массив цветных изображений. Если указан вектор символов или строковый скаляр, это может быть имя файла изображения по пути MATLAB или полный путь к файлу изображения. Если вы планируете поделиться своим приложением с другими пользователями, поместите файл изображения в путь MATLAB, чтобы облегчить упаковку приложения. Поддерживаемые форматы изображений включают JPEG, PNG, GIF и SVG.

При указании mоколо-nМассив -by-3 интерпретируется как массив изображения truecolor. Дополнительные сведения о массивах изображений truecolor см. в разделе Типы изображений.

Если указанное изображение больше 16 на 16 пикселей, то Icon масштабирует изображение таким образом, что все изображение помещается в инструмент. Если указанное изображение меньше 16 на 16 пикселей, оно не масштабируется в соответствии с имеющимся пространством.

Icon поддерживается только в App Designer и uifigure-based apps. Если Icon и CData оба свойства установлены, затем CData свойство игнорируется.

Пример: 'icon.png' указывает файл изображения по пути MATLAB.

Пример: 'C:\Documents\icon.png' указывает полный путь к файлу изображения.

Массив изображений, указанный как mоколо-n-на-3 массив цветных изображений. Значения в массиве могут быть следующими:

  • Значения двойной точности между 0.0 и 1.0

  • uint8 значения между 0 и 255

Чтобы изображение не появлялось обрезанным или искаженным, укажите массив с помощью m и n меньше или равно 16. Если изображение обрезано, используется только центральная часть массива 16 на 16.

Примечание

Для конструктора приложений и uifigure- приложения на основе, используйте Icon для указания значков инструмента нажатия и переключения.

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

Установка для этого свойства значения 'on' рисует разделительную линию слева от инструмента на панели инструментов.

Совет

  • Toolbar объекты (и их потомок PushTool и ToggleTool объекты) не отображаются на рисунках, WindowStyle свойство имеет значение 'modal'. Если фигура, содержащая дочерний элемент панели инструментов, имеет WindowStyle изменено на 'modal', дочерний элемент панели инструментов все еще существует в Children свойство фигуры. Однако панель инструментов не отображается, пока WindowStyle имеет значение 'modal'.

  • В отличие от этого, UIControl кнопки, нажимные инструменты не устанавливают рисунок SelectionType свойство для 'open' на втором щелчке.

См. также

Функции

Свойства

Представлен до R2006a