可以将HTML内容放在matlab中的errodlg / msgbox文本中吗?我知道“乳胶”解释器选项,可以显示乳胶内容,但我需要在消息中显示指向用户的超链接。
答案 0 :(得分:4)
不,这是不可能的,因为文本标签不支持HTML。
您可以使用dialog
创建自己的对话框,然后使用一点undocumented functionality在其上放置Java标签,或者更简单地说,您只需将URL显示为文本,并且一个按钮,说“访问URL”,带有一个调用web
命令的回调函数。
答案 1 :(得分:1)
Matlab msgbox()或uialert()仍不支持超链接文本,但是您可以在没有乳胶解释器的独立图形中设置它。
这里是一个演示,该演示向Uifigure添加了蓝色文本,单击该按钮可打开网页(通过ButtonDownFcn回调函数)。 “确定”按钮将关闭图形。
% Create message box figure & axes
uifig = uifigure();
uiax = uiaxes(uifig,'Position',[0 0 uifig.Position(3:4)]);
axis(uiax,'off')
% Add hyperlink text
% You don't need Latex interpreter if you're not underlining the link.
th = text(uiax, .5, .3, '\underline{mathworks.com}',...
'color',[0 0 .8],'FontSize',20,'Interpreter','latex',...
'HorizontalAlignment','center');
th.ButtonDownFcn = @(~,~)web('mathworks.com'); % this opens the website
% Add OK button that closes figure
uibutton(uifig,'Text','Ok','Position',...
[50,50,75,30],'ButtonPushedFcn',@(h,~)delete(h.Parent))