uipushtool

Создайте push-инструмент на панели инструментов

Описание

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

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

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

пример

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

пример

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

Примеры

свернуть все

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

fig = uifigure;
tb = uitoolbar(fig);

UI figure with an empty toolbar.

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

pt = uipushtool(tb);

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

Добавьте значок в инструмент push путем установки 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.

Создайте инструмент push на панели инструментов. Считайте новый значок из файла индексированного изображения, matlabicon.gif. Преобразуйте индексированное изображение в массив изображений RGB truecolor. Добавьте значок в инструмент push путем установки 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.

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

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

f = figure;

Figure with the default toolbar.

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

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

  Toolbar (FigureToolBar) with properties:

    Children: [0×0 GraphicsPlaceholder]

Создайте инструмент push на панели инструментов по умолчанию. Создайте массив случайных значений RGB 16 на 16 на 3, чтобы быть ее значком. Добавьте значок в инструмент push путем установки 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.

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

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

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

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

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

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

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

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

  • Создайте функцию обратного вызова colorToolClicked. В нем вызывайте uisetcolor таким образом открывается диалоговое окно палитры цветов при клике по инструменту push на панели инструментов. Установите цвет по умолчанию для палитры цветов в качестве цвета фигуры пользовательского интерфейса и укажите заголовок палитры цветов следующим '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 создает инструмент push на панели инструментов текущей фигуры. Эта текущая фигура должен быть создан с figure функция. Если текущий рисунок не имеет дочерней панели инструментов, MATLAB создает дочернюю панель на текущей фигуре, которая будет служить родительским элементом. MATLAB не создает инструмент толчка на панели инструментов рисунка по умолчанию.

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

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

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

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

Пример: 'Separator','on' устанавливает режим линии диафрагмы равным 'on'.

Примечание

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

Совет

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

  • В отличие от UIControl кнопки, push tools не устанавливают рисунок SelectionType свойство к 'open' на втором нажатии кнопки.

См. также

Функции

Свойства

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