Main Content

uihyperlink

创建超链接组件

自 R2021a 起

说明

hlink = uihyperlink 在新图窗窗口中创建一个超链接组件,并返回 Hyperlink 对象。MATLAB® 调用 uifigure 函数来创建该图窗。

示例

hlink = uihyperlink(parent) 在指定的父容器中创建超链接。父容器可以是使用 uifigure 函数创建的图窗或其子容器之一。

示例

hlink = uihyperlink(___,Name,Value) 使用一个或多个名称-值参量指定超链接属性。例如,您可以使用 TextURL 名称-值参量指定超链接的显示文本和 URL。可将此选项与上述语法中的任何输入参量组合一起使用。

示例

全部折叠

创建一个超链接组件。将显示文本更改为 'MathWorks',并将其设置为指向 MathWorks® 主页的链接。

fig = uifigure;
hlink = uihyperlink(fig);
hlink.Text = "MathWorks";
hlink.URL = "https://www.mathworks.com/";

Hyperlink with text "MathWorks"

当 App 用户点击该链接时,MathWorks 主页将在新浏览器标签页中打开。

创建一个默认超链接组件。

fig = uifigure;
hlink = uihyperlink(fig);

将 URL 更改为指向 MathWorks 主页的链接。添加一个工具提示,它在 App 用户将指针悬停在超链接上时会显示该 URL。

hlink.URL = "https://www.mathworks.com";
hlink.Tooltip = hlink.URL;

Hyperlink with text "Hyperlink". A mouse pointer is on the hyperlink, and the tooltip shows the URL of the MathWorks home page.

创建一个默认超链接。

fig = uifigure;
hlink = uihyperlink(fig);

更改链接文本和 URL。

hlink.Text = "MathWorks home page";
hlink.URL = "https://www.mathworks.com/"

Hyperlink with clipped text. Only the word "MathWorks" and part of the "h" character are visible.

链接文本被裁剪,因为当前大小对新文本来说太小。

通过获取 Position 属性值的第三和第四个元素可以确定当前链接大小。

size = hlink.Position(3:4)
size =

    70    22

更改其大小以容纳新文本。

hlink.Position(3:4) = [150 22];

Hyperlink with text "MathWorks home page"

要使链接在被点击时在 App 用户系统上打开一个文件,请使用 file:/// URL 方案。

使用 publish 从示例程序文件创建一个 HTML 文件。在当前文件夹中指定程序文件的名称,以便代码可以在发布过程中运行。

htmlFile = publish("fourier_demo2.m");

创建一个超链接组件。使用 file:/// URL 方案以使 MATLAB 能够打开文件。

fig = uifigure;
hlink = uihyperlink(fig);
hlink.URL = "file:///" + htmlFile;

点击超链接会打开文件,以便您在系统浏览器中进行查看。

要使链接在被点击时发送电子邮件,请使用 mailto: URL 方案。

创建一个默认超链接组件。

fig = uifigure;
hlink = uihyperlink(fig);

要运行此示例,请将 email 的值替换为有效的电子邮件地址。

email = 'myaddress@provider.ext';
hlink.URL = ['mailto:' email];

当 App 用户点击该链接时,默认邮件客户端会打开一封新电子邮件,其中的目的地字段预先填充了 email

创建一个具有自定义效果的超链接:它创建一个图,并在 App 用户点击它时打开一个 URL。为此,创建一组 UI 坐标区以及一个用于在这些坐标区中创建绘图的 HyperlinkClickedFcn 回调。

在您的 MATLAB 路径中创建名为 hyperlinkPlot.m 的文件,其中包含以下代码。以下代码将创建一个包含一个超链接和一组 UI 坐标区的窗口。当 App 用户点击该链接时,首先该 App 用户的浏览器会加载 MATLAB 产品页,然后 HyperlinkClickedFcn 回调会绘制一些数据。

function hyperlinkPlot
% Create a figure window and UI axes
fig = uifigure;
ax = uiaxes(fig);

% Create a hyperlink
hlink = uihyperlink(fig,...
    "Position",[200 350 70 22], ...
    "Text","MATLAB", ...
    "URL","https://www.mathworks.com/products/matlab.html", ...
    "HyperlinkClickedFcn",@(hlink,event) plotHyperlinkClicked(hlink,ax));
end

% Create the function for the HyperlinkClickedFcn callback
function plotHyperlinkClicked(hlink,ax)
    L = 160*membrane(1,100);
    s = surf(ax,L);
    s.EdgeColor = 'none';
end

运行 hyperlinkPlot,然后点击链接。MATLAB 打开该 URL,然后绘制数据。

Hyperlink with the text "MATLAB" above a surface plot

输入参数

全部折叠

父容器,指定为使用 uifigure 函数创建的 Figure 对象或其子容器之一:TabPanelButtonGroupGridLayout。如果不指定父容器,MATLAB 会调用 uifigure 函数创建新 Figure 对象充当父容器。

名称-值参数

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

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: uihyperlink('Text','Click me') 指定超链接显示文本 Click me

注意

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

超链接显示文本,指定为字符向量、字符向量元胞数组、字符串标量、字符串数组或一维分类数组。可以使用字符向量元胞数组或字符串数组指定多行文本。

示例: 'Click here'

示例: {'Click' 'Here'}

超链接 URL,指定为字符向量或字符串标量。点击超链接时,Web 地址会在新浏览器标签页中打开。如果用户通过 MATLAB Online™ 在浏览器中运行该 App,或将其作为 Web App 运行,新标签页将在当前浏览器中打开。否则,新标签页将在用户系统的默认浏览器中打开。

超链接被点击后的回调,指定为下列值之一:

  • 函数句柄。

  • 第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参量。

  • 包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。

当用户点击超链接时,此回调在 URL 打开后执行。

此回调函数可以访问有关用户与超链接的交互的特定信息。MATLAB 将 HyperlinkClickedData 对象中的此信息作为第二个参量传递给回调函数。在 App 设计工具中,该参量名为 event。您可以使用圆点表示法查询对象属性。例如,event.Source 返回 Hyperlink 对象。HyperlinkClickedData 不可用于指定为字符向量的回调函数。

下表列出了 HyperlinkClickedData 对象的属性。

属性
EventName'HyperlinkClicked'
Source执行回调的组件

有关编写回调的详细信息,请参阅App 设计工具中的回调

超链接相对于父级的位置和大小,指定为向量 [left bottom width height]。此表介绍该向量中的每个元素。

元素描述
left父容器的内部左边缘与标签的外部左边缘之间的距离
bottom父容器的内部下边缘与标签的外部下边缘之间的距离
width标签的左右外部边缘之间的距离
height标签的上下外部边缘之间的距离

Position 值相对于父容器的可绘制区域。可绘制区域是指容器边框内的区域,不包括装饰元素(如菜单栏或标题)所占的区域。

所有测量值都以像素为单位。

示例: [100 100 100 20]

版本历史记录

在 R2021a 中推出

另请参阅

函数

属性

工具