Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

uipushtool

在工具栏中创建按钮工具

说明

pt = uipushtool 在当前图窗的工具栏中创建一个按钮工具,并返回 PushTool 对象。

当前图窗必须是使用 figure 函数创建的图窗。如果当前图窗没有子工具栏,则 MATLAB® 会在当前图窗中创建一个工具栏作为父级。如果用 figure 函数创建的图窗不存在,则 MATLAB 创建一个图窗,并调用 uitoolbar 函数来创建一个工具栏作为父级。

按钮工具的行为就像普通按钮。当您点击它们时,它们显示为已按下,直到您松开鼠标按键。

示例

pt = uipushtool(parent) 在指定的父工具栏中创建一个按钮工具。

示例

pt = uipushtool(___,Name,Value) 创建一个按钮工具,其中包含使用一个或多个名称-值对组参数指定的属性值。用上述任一语法指定名称-值对组。

示例

全部折叠

通过调用 uifigure 函数创建一个 UI 图窗。在 UI 图窗中创建一个工具栏。

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 属性设置为真彩色图像数组,将图标添加到按钮工具。

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 对话框。将 UI 图窗的背景颜色更改为从颜色选择器中选择的颜色。

首先,创建一个名为 colorPickerPushTool.m 的程序文件。在该程序文件中:

  • 创建一个 UI 图窗。

  • 在 UI 图窗中创建一个工具栏。

  • 在工具栏中创建一个按钮工具。

  • 通过将 Icon 属性值设置为 paintbrush.gif 的完整文件路径,为按钮工具添加一个适当的图标。

  • 为按钮工具创建一个工具提示。

  • ClickedCallback 属性设置为引用名为 colorToolClicked 的回调函数的函数句柄。

  • 创建一个名为 colorToolClicked 的回调函数。在其中调用 uisetcolor 函数,这样当您点击工具栏中的按钮工具时,会打开颜色选择器对话框。将颜色选择器的默认颜色设置为 UI 图窗的颜色,并将颜色选择器的标题指定为 'Select UI Figure Color'。使 UI 图窗成为当前图窗,以便它显示在所有其他图窗的前端。

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。点击按钮工具打开颜色选择器。然后,选择一种颜色来更改 UI 图窗的背景颜色。

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'

注意

此处所列的属性只是一部分。有关完整列表,请参阅 PushTool 属性

图标源或文件,指定为字符向量、字符串标量或 m×n×3 真彩色图像数组。如果指定字符向量或字符串标量,它可以是 MATLAB 路径中的图像文件名或图像文件的完整路径。如果您计划与他人共享您的 App,请将图像文件放在 MATLAB 路径中以便于打包 App。支持的图像格式包括 JPEG、PNG、GIF 和 SVG。

如果指定 m×n×3 数组,它将解释为真彩色图像数组。有关真彩色图像数组的详细信息,请参阅图像类型

如果您指定的图像大于 16×16 像素,则 Icon 属性会缩小图像,使整个图像适应该工具。如果您指定的图像小于 16×16 像素,则不会放大图像来适应可用空间。

Icon 属性仅在使用 App 设计工具创建的 App 和基于 uifigure 的 App 中受支持。如果同时设置了 IconCData 属性,则忽略 CData 属性。

示例: 'icon.png' 指定 MATLAB 路径中的一个图像文件。

示例: 'C:\Documents\icon.png' 指定图像文件的完整路径。

图像数组,指定为 m×n×3 真彩色图像数组。数组中的值可以是:

  • 介于 0.01.0 之间的双精度值

  • 介于 0255 之间的 uint8

为防止图像出现裁剪或失真,请指定 mn 小于或等于 16 的数组。如果图像被裁剪,则仅使用数组的中心 16×16 部分。

注意

对于使用 App 设计工具创建的 App 和基于 uifigure 的 App,请改用 Icon 属性来指定按钮工具和切换工具图标。

分隔线模式,指定为 'off''on',或者指定为数值或逻辑值 0 (false) 或 1 (true)。值 'on' 等效于 true'off' 等效于 false。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState 类型的 on/off 逻辑值。

将此属性设置为 'on' 将在工具栏上的工具左侧绘制一条分隔线。

提示

  • WindowStyle 属性设置为 'modal' 的图窗中,Toolbar 对象(及其子级 PushToolToggleTool 对象)不显示。如果一个含有工具栏子对象的图窗的 WindowStyle 更改为 'modal',则该工具栏子对象仍然存在于图窗的 Children 属性中。但是,在 WindowStyle 设置为 'modal' 时,工具栏不会出现。

  • UIControl 普通按钮不同,在第二次点击时,按钮工具不将图窗的 SelectionType 属性设置为 'open'

另请参阅

函数

属性

在 R2006a 之前推出