Main Content

addSetting

添加新设置

自 R2019b 起

说明

示例

s = addSetting(parentgroup,name) 将新设置添加到指定的父设置组,并返回包含新设置的 Setting 对象。默认情况下,设置不会隐藏,这意味着它们会显示在父设置组中。

示例

s = addSetting(___,Name,Value) 使用一个或多个名称-值对组参量指定设置属性。例如,'PersonalValue',10 会添加一个包含个人值 10 的新设置。请在所有其他输入参量之后指定名称-值对组。

示例

全部折叠

创建一个设置组,并向该组添加一个新设置。在您的代码中使用该设置的值。

创建设置组 mysettings

s = settings;
addGroup(s,"mysettings");

将设置 MyWorkAddress 添加到 mysettings 中并为其赋值。

addSetting(s.mysettings,"MyWorkAddress");
s.mysettings.MyWorkAddress.PersonalValue = "3 Apple Hill Drive";
s.mysettings.MyWorkAddress
ans = 
  Setting 'mysettings.MyWorkAddress' with properties:

          ActiveValue: "3 Apple Hill Drive"
       TemporaryValue: <no value>
        PersonalValue: "3 Apple Hill Drive"
    InstallationValue: <no value>
         FactoryValue: <no value>

显示设置的值。

fprintf("Work address: %s.\n", s.mysettings.MyWorkAddress.ActiveValue)
Work address: 3 Apple Hill Drive.

使用 removeGroup 删除 mysettings

removeGroup(s,"mysettings");

使用 settings 函数访问设置树的根。创建一个设置组,在该组中添加一个新的隐藏设置,并在您的代码中使用该设置的值。

创建隐藏设置组 myhiddensettings

s = settings;
newHiddenGroup = addGroup(s,"myhiddensettings",Hidden=true);

将设置 MyHiddenWorkAddress 添加到 myhiddensettings 中,并为其赋值。请注意,当显示父设置组时,新设置不会显示。

addSetting(newHiddenGroup,"MyHiddenWorkAddress",Hidden=true, ...
    PersonalValue="1 Lakeside Campus Drive");
s.myhiddensettings
ans = 
  SettingsGroup 'myhiddensettings' with no properties.

显示隐藏设置的值。

fprintf("Work address: %s.\n", newHiddenGroup.MyHiddenWorkAddress.ActiveValue)
Work address: 1 Lakeside Campus Drive.

您可以像删除可见组一样删除隐藏组。

removeGroup(s,"myhiddensettings")

创建一个设置组,并为该组指定一个默认验证函数。此函数验证该组中未定义其自己的验证函数的所有设置的值。

创建一个当输入为非数值时会引发错误的验证函数 numericValidationFcn

function numericValidationFcn(x)
    errorMsg = "Value must be numeric."; 
    assert(isnumeric(x),errorMsg);
end

使用 settings 函数访问设置树的根,然后创建 myNumericSettings 设置组。指定验证函数。

s = settings;
newNumericGroup = addGroup(s,"myNumericSettings",...
    ValidationFcn=@numericValidationFcn);

如果您在 myNumericSettings 组中创建一个新设置,并尝试将该设置的值设置为非数值,则 MATLAB 将引发错误。例如,如果您运行此语句,它尝试将 PersonalValue 设置为字符串而不是数值,则 MATLAB 将引发错误。

addSetting(newNumericGroup,"mySetting",PersonalValue="Hello")

使用 removeGroup 删除 myNumericSettings

removeGroup(s,"myNumericSettings");

输入参数

全部折叠

要向其添加设置的父设置组,指定为 SettingsGroup 对象。使用 settings 函数访问根设置组对象和所有可用设置组。

要添加的设置的名称,指定为字符向量或字符串标量。如果在指定的设置组中已存在 name,MATLAB® 会引发错误。

名称-值参数

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

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

示例: addSetting(a,'mySetting','PersonalValue',10,'Hidden',true) 将一个具有隐藏状态、包含个人值 10 的新设置添加到指定的父设置组中。

设置的个人值,指定为除句柄类型外的任何类型的 MATLAB 数据。也不支持包含句柄的数据容器,如元胞数组、结构体和对象。创建只读设置时需要此参量。

隐藏状态,指定为 truefalse

当设置为 true 时,虽然设置组和组内设置仍可访问,但它们并不显示出来。

只读状态,指定为 truefalse。如果指定为 true,则无法更改设置的个人值或临时值。创建只读设置时需要 PersonalValue 参量。

用于验证设置的函数,指定为函数句柄。如果指定了该函数,它将用于验证设置的值。

函数句柄必须与接受潜在设置值作为输入参量、没有输出参量并且在验证失败时引发错误的函数相关联。

函数句柄必须指向 MATLAB 路径上的函数。不支持匿名或嵌套的函数句柄。

版本历史记录

在 R2019b 中推出