如何在 MATLAB 中创建超链接组件?
MATLAB 是一种基于矩阵的计算环境,具有自己的编程语言,非常易于使用和学习。它用于繁重的数学概念,借助 MATLAB 的 GUI 图形用户界面理解庞大的数据集。
在 GUI 中,超链接文本标签通常很有用。这些标签可以一键访问关键功能,改善品牌形象,并且是非侵入式操作控件,视觉效果比成熟按钮更小。在 Matlab GUI 中显示超链接有几种不同的方法,今天我将向您展示我最喜欢的一种。
基本概念是在标签上制作一个带有 HTML 链接的Java文本标签控件。当鼠标指针悬停在超链接上时,控件被更新,并建立鼠标点击回调以在系统浏览器中打开超链接目标。
当我们单击标签控件而不是超链接时(注意 href 为空)。最终结果是相同的。此外,通过简单地更改标签的 HTML字符串以显示正确的图片,此技术可用于轻松显示可点击的图标/图像,包括动画和透明 GIF。
- hlink = uihyperlink:在新的图形窗口中创建超链接组件后返回超链接对象。链接的默认大小为 70 x 22 像素,默认文本为“超链接”。
- hlink = uihyperlink(parent):它在提供的父容器中生成一个超链接。使用 uifigure函数或其子容器之一生成的图窗可以是父图窗。
- hlink = uihyperlink( ,Name,Value):提供超链接属性。例如,Text 和 URL 名称-值参数可用于指定超链接的显示文本和 URL。将此选项与上述任何语法的输入参数组合一起使用。
让我们看看不同的例子来将链接与文本或组件连接起来。创建文本超链接后,它将重定向到提供的链接。
示例 1:
Matlab
% MATLAB code for hlink()
fig = uifigure;
hlink = uihyperlink(fig);
hlink.Text = 'geeksforgeeks';
hlink.URL = 'https://www.geeksforgeeks.org/';
Matlab
% MATLAB code for tooltip
hlink.URL = 'https://www.geeksforgeeks.org';
hlink.Tooltip = hlink.URL;
Matlab
% MATLAB code for Open File on Click using hlink
program = fullfile(matlabroot,'help','techdoc', ...
'matlab_env','examples','fourier_demo2.m');
copyfile(program);
htmlFile = publish('fourier_demo2.m');
fig = uifigure;
hlink = uihyperlink(fig);
hlink.URL = ['file:///' htmlFile];
Matlab
% MATLAB code for uihyperlink
fig = uifigure;
hlink = uihyperlink(fig);
Matlab
% MATLAB code for hlink.URL
email = 'myaddress@provider.ext';
hlink.URL = ['mailto:' email];
Matlab
% MATLAB code for hlinkplot
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','GFG', ...
'URL','https://www.geeksforgeeks.org//', ...
'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
输出:
要显示 URL,请创建工具提示。创建默认超链接。要链接到 MathWorks 主页,请更改 URL。当应用程序用户将指针悬停在超链接上时,添加一个显示 URL 的工具提示。
示例 2:
MATLAB
% MATLAB code for tooltip
hlink.URL = 'https://www.geeksforgeeks.org';
hlink.Tooltip = hlink.URL;
输出:
单击时打开文件使用文件/ URL 方案使链接在单击时打开应用程序用户系统上的文件。使用发布,从示例程序文件创建一个 HTML 文件。首先获取程序文件的路径。然后,为了让代码在发布过程中运行,将程序文件复制到当前文件夹。
示例 3:
MATLAB
% MATLAB code for Open File on Click using hlink
program = fullfile(matlabroot,'help','techdoc', ...
'matlab_env','examples','fourier_demo2.m');
copyfile(program);
htmlFile = publish('fourier_demo2.m');
fig = uifigure;
hlink = uihyperlink(fig);
hlink.URL = ['file:///' htmlFile];
制作带有超链接的组件。要让 MATLAB 打开文件,请使用 file:/// URL 方案。
输出:
再举一个点击发送电子邮件的例子。
示例 4:
MATLAB
% MATLAB code for uihyperlink
fig = uifigure;
hlink = uihyperlink(fig);
将电子邮件的值替换为有效的电子邮件地址以运行此示例。
MATLAB
% MATLAB code for hlink.URL
email = 'myaddress@provider.ext';
hlink.URL = ['mailto:' email];
对于单击的代码响应,会创建一个具有自定义效果的超链接:当应用程序用户点击它时,它会创建一个图并打开一个 URL。创建一组 UI 轴和绘制这些轴的 HyperlinkClickedFcn 回调来完成此操作。
在您的 MATLAB 目录中,创建一个名为 hyperlinkPlot.m 的文件,其中包含以下代码。此代码生成一个带有超链接和一组用户界面轴的窗口。当应用程序用户单击链接时,浏览器首先加载 MATLAB 产品页面,然后是绘制一些数据的 HyperlinkClickedFcn 回调。
示例 5:
MATLAB
% MATLAB code for hlinkplot
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','GFG', ...
'URL','https://www.geeksforgeeks.org//', ...
'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
输出: