主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

mlreportgen.report.HTMLModuleTabs 类

命名空间: mlreportgen.report
超类: mlreportgen.report.Reporter

创建选项卡式面板

描述

mlreportgen.report.HTMLModuleTabs 报告器将由一堆选项卡式面板(模块选项卡)组成的小部件添加到 HTML 报告。选择一个选项卡将显示面板的内容。使用此报告器以紧凑形式显示相关信息。

注意

HTMLModuleTabs 报告器仅用于 HTML 或单文件 HTML 报告。

mlreportgen.report.HTMLModuleTabs 类是一个 handle 类。

类属性

HandleCompatible
true

有关类属性的信息,请参阅类属性

创建对象

描述

tabsObj = mlreportgen.report.HTMLModuleTabs 创建一个空的 HTMLModuleTabs 报告器。您必须使用 TabsData 属性指定选项卡标记和内容。向报告中添加空的 HTMLModuleTabs 报告器会产生错误。

示例

tabsObj = mlreportgen.report.HTMLModuleTabs(Name=Value) 使用名称-值参量设置属性。您可以按任意顺序指定多个名称-值参量。

属性

全部展开

选项卡标记和面板内容,指定为具有以下字段的结构体数组:

  • Label - 选项卡标记,指定为字符向量、字符串标量或 mlreportgen.dom.Text 对象。为每个选项卡使用唯一的标记。

  • Content - 面板内容,指定为以下值之一:

    • 字符向量或字符串标量

    • DOM 对象

    • 报告 API 报告器对象

    注意

    要在一个选项卡中包含多个 DOM 对象,请将 Content 字段设置为包含 DOM 对象的 mlreportgen.dom.Group 对象。

属性:

GetAccess
public
SetAccess
protected

数据类型: struct

该报告器的模板来源,以下列方式之一指定:

  • 字符向量或字符串标量,指定包含此报告器模板的文件的路径

  • 此报告器使用的模板或其模板库中包含此报告器模板的报告器或报告

  • 文档对象模型 (DOM) 文档或文档部分,该报告器使用其模板或其模板库包含该报告器的模板

指定的模板必须与您附加此报告器的报告类型相同。例如,对于 Microsoft® Word 报告,TemplateSrc 必须是 Word 报告模板。如果 TemplateSrc 属性为空,则此报告器将使用默认报告器模板作为报告的输出类型。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

此报告器的模板名称,指定为字符向量或字符串标量。该报告器的模板必须位于该报告器的 TemplateSrc 属性指定的模板的模板库中。

属性:

GetAccess
public
SetAccess
public

数据类型: char | string

此报告器的超链接目标,指定为指定链接目标 ID 的字符向量或字符串标量,或 mlreportgen.dom.LinkTarget 对象。字符向量或字符串标量值转换为 LinkTarget 对象。链接目标在输出报告中紧接着此报告器的内容。

属性:

GetAccess
public
SetAccess
public

方法

全部展开

示例

全部折叠

此示例显示如何生成一个单文件 HTML 报告,该报告为 Simulink® 模型的每个系统图提供一个单独的选项卡面板。

创建报告和章节。

rpt = slreportgen.report.Report("MyReport","html-file");
open(rpt);

ch = mlreportgen.report.Chapter("sf_car " + ...
    "System Diagrams Tabbed Image Gallery");

加载模型并找到模型中的所有图。

model_name = "sf_car";
load_system(model_name);

finder = slreportgen.finder.DiagramFinder(model_name);
results = find(finder);

创建一个 mlreportgen.report.HTMLModuleTabs 报告器来包含与图相对应的选项卡。指定每个系统图的选项卡标记和内容。选项卡标记是系统名称。选项卡内容是系统图快照。

moduleTabs = mlreportgen.report.HTMLModuleTabs();
for result = results
    moduleTabs.TabsData(end+1).Label = result.Name;
    
    diag = result.getReporter();
    moduleTabs.TabsData(end).Content = ...
        mlreportgen.dom.Image(diag.getSnapshotImage(rpt));
end

HTMLModuleTabs 报告器添加到章节中,并将章节添加到报告中。

add(ch,moduleTabs);
add(rpt,ch);

关闭并查看报告。

close(rpt);
rptview(rpt);

报告打开时显示第一个选项卡的内容。第一个选项卡包含模型的顶层图。要查看不同的图,点击相应的选项卡。

Report showing an image gallery with eight tabs. The first tab shows the top-level diagram of the model sf_car.

此示例生成选项卡式面板,其中每个面板包含不同类型的内容。该示例还展示了如何通过将 DOM 对象分组到 mlreportgen.dom.Group 对象中来将多个 DOM 对象包含在选项卡面板的内容中。

创建一份报告和一个章节。

rpt = mlreportgen.report.Report("MyReport","html");
open(rpt);
ch = mlreportgen.report.Chapter("Tabs with Different Types of Content");

创建一个 HTMLModuleTabs 报告器并指定每个选项卡面板的标记和内容。对于最后一个面板,创建一个包含段落和表的 Group 对象。

% Create group from a paragraph and a table
p = mlreportgen.dom.Paragraph('This is a table:');
t = mlreportgen.dom.Table(magic(2));
grp = mlreportgen.dom.Group;
append(grp,p);
append(grp,t);

% Create cell arrays for the labels and content
labels = {'Text','Paragraph','Link','List','Image','Group'};
content = {"This tab contains text as a string.",...
    mlreportgen.dom.Paragraph('This tab contains content using a DOM Paragraph.'),...
    mlreportgen.dom.ExternalLink("http://www.mathworks.com/","MathWorks"),...
    mlreportgen.dom.UnorderedList(["Coffee", "Tea", "Milk"]),...
    mlreportgen.dom.Image(which("ngc6543a.jpg")),...
    grp};

% Create a structure from the labels and content
tabsdata = struct('Label',labels,'Content',content);

% Create the HTMLModuleTabs reporter
modTabsObj = mlreportgen.report.HTMLModuleTabs('TabsData',tabsdata);

将 HTMLModuleTabs 报告器添加到报告中。关闭并查看报告。

add(ch,modTabsObj);
add(rpt,ch);
close(rpt);
rptview(rpt);

报告打开时显示第一个选项卡的内容。

tabs_ex2.png

点击“组”选项卡可看到其包含一个段落和一个表。

tabs_ex_2_group_tab.png

版本历史记录

在 R2020a 中推出