将HTML内容放在errordlg / msgbox中

时间:2013-06-10 13:52:44

标签: matlab

可以将HTML内容放在matlab中的errodlg / msgbox文本中吗?我知道“乳胶”解释器选项,可以显示乳胶内容,但我需要在消息中显示指向用户的超链接。

2 个答案:

答案 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))