主要内容

uipushtool

在工具栏中创建按钮工具

说明

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

如果当前图窗没有子工具栏,则 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 属性设置为图像文件 peppers.png,为按钮工具添加一个图标。

pt.Icon = "peppers.png";

UI figure that displays a toolbar and a push tool with an image of peppers

通过调用 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.

创建一个按钮工具,当您点击它时,它将打开 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 会在当前图窗的工具栏中创建一个按钮工具。如果当前图窗没有子工具栏,则 MATLAB 会在当前图窗中创建一个作为父级。MATLAB 不会在默认图窗工具栏中创建按钮工具。

如果没有当前图窗,则 MATLAB 使用 figure 函数创建一个图窗,并调用 uitoolbar 函数创建一个工具栏作为父级。

如果向工具栏添加多个按钮工具或切换工具,它们将按照创建的顺序从左到右添加。

名称-值参数

全部折叠

将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

示例: uitoolbar(Separator="on") 将分隔线模式设置为 'on'

注意

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

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

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

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

如果同时设置了 IconCData 属性,则忽略 CData 属性。

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

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

注意

对于指定按钮工具和切换工具图标,推荐使用 Icon 属性(而不是 CData 属性),因为它支持更多图像格式。

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

  • 介于 0.01.0 之间的双精度值

  • 介于 0255 之间的 uint8

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

分隔线模式,指定为 '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 之前推出

全部展开

另请参阅

函数

属性