【PyQtGraph】参数(Parameter)

Parameter

PyQtGraph中的Parameter


快速目录


Parameterspyqtgraph.parametertree.Parameter中的一个类。

参数是参数树中的基本数据单位。每个参数都有一个名称、一个类型、一个值和几个修改参数行为的其他属性。参数可以有父/子/兄弟关系来构造有组织的层次结构。参数一般没有任何固有的GUI或可视化解释;相反,它们管理的参数项实例负责显示和用户交互。

注意:不建议直接使用参数类。建议使用其子类Parameter.create(…)做数据分析处理。有关更多Parameter types的帮助,请参考ParameterTree.parameterTypes模块。

以下是对pyqtgraph.parametertree.Parameter中各函数及参数的介绍。


  • __init__(***opts*) source
  • 功能:初始化函数,初始化一个参数对象。尽管很少直接创建参数实例,但该方法可用的选项也被大多数参数子类所允许。
关键参数:
name给出此参数的名称。 这是将出现在此参数的ParameterTree最左列中的名称。
value最初分配给此参数的值。
default此参数的默认值(大多数参数提供了“重置为默认值”的选项)。
children此参数的子级列表。 可以将子级作为Parameter实例或作为字典传递给Parameter.create()。 这样,可以从单个嵌套数据结构中指定参数的复杂层次结构。
readonly如果为True,则不允许用户编辑此参数。 (默认= False)
enabled如果为False,则此参数的任何小部件都将显示为已禁用。 (默认= True)
visible如果为False,则在ParameterTree中显示该参数时不会出现。 (默认= True)
renamable如果为True,则用户可以重命名此参数。 (默认= False)
removable如果为True,则用户可以删除此参数。 (默认= False)
expanded如果为True,则最初将在ParameterTrees中扩展Parameter:其子项将可见。 (默认= True)
syncExpanded如果为True,则此参数的扩展状态与其在其中显示的所有ParameterTree同步。(默认值= False)
title(str或None)(如果指定),则使用此字符串作为名称将参数显示给用户。 但是,仍将使用上面指定的* name *在内部引用该参数。 请注意,此选项与renamable = True不兼容。 (默认=无;在0.9.9版中添加)

  • addChild(child*, *utoIncrementName=None)[source]

    在此参数的子级列表的末尾添加另一个参数。 有关autoIncrementName参数的描述,请参见insertChild()。

  • addChildren(children)[source]

    向此参数添加子项列表或字典。 此方法对children中的每个值调用一次addChild。

  • blockTreeChangeSignal()[source]

    用于临时阻止和累积树更改信号。 您必须记住要取消阻止,因此建议改用treeChangeBlocker()。

  • child(*names)[source]

    返回一个子参数。 接受版本0.9.9中添加的子项或元组(路径,到,子项)的名称。 较早的版本使用了“ param”方法,该方法仍可实现向后兼容。

  • childPath(child)[source]

    返回参数名称从self到child的路径。 如果子代不是自己的(大)子代,则返回None。

  • children()[source]

    返回此参数的子级列表。 警告:这会覆盖QObject.children

  • clearChildren()[source]

    删除所有子参数。

  • contextMenu(name)[source]

    单击了上下文菜单项

  • static create(**opts)[source]

    静态方法,该方法使用opts [‘type’]选择合适的类来创建新的Parameter(或子类)实例。 所有选项都直接传递给新Parameter的__init__方法。 使用registerParameterType()添加新的类类型。

  • defaultValue()[source]

    返回此参数的默认值。

  • getValues()[source]

    返回所有属于此参数子级的值的树

  • hasChildren()[source]

    如果此参数有子级,则返回True。

  • hasDefault()[source]

    如果此参数具有默认值,则返回True。

  • hide()[source]

    隐藏此参数。 它及其子级将在与其连接的任何ParameterTree小部件中不再可见。

  • insertChild(*pos*, *child*, *autoIncrementName=None*)[source]

    在pos处插入一个新的孩子。 如果pos是一个参数,则在该参数的位置插入。 如果child是字典,则使用Parameter.create构造参数。 默认情况下,子级的“autoIncrementName选项决定是否对名称进行调整,以避免先前的名称冲突。 通过指定autoIncrementName参数,可以覆盖此行为。 在0.9.9版中添加了此参数。

  • isType(typ)[source]

    如果此参数类型与名称`typ’匹配,则返回True. 这可以通过两种方式之一发生:(1). If self.type() == typ;(2). 如果此参数的类使用名称typ注册

  • makeTreeItem(depth)[source]

    返回一个适合于显示/控制此参数内容的TreeWidgetItem。 当ParameterTree尝试显示此参数时,将自动调用此方法。 大多数子类将要覆盖此函数。

  • name()[source]

    返回此参数的名称。

  • parent()[source]

    返回此参数的父级。

  • parentChanged(parent)[source]

    参数的父项已更改时,将调用此方法。 在子类中扩展此方法可能很有用。

  • readonly()[source]

    如果此参数为只读,则返回True。 (这与writable()相反)

  • remove()[source]

    从其父级的子级列表中删除此参数

  • removeChild(child)[source]

    删除子参数。

  • restoreState(state, recursive=True, addChildren=True, removeChildren=True, blockSignals=True)[source]

    从使用saveState()生成的结构还原此参数及其子级的状态。如果递归为True,则也尝试还原子参数的状态。 如果addChildren为True,则将创建状态对象中引用的所有子项(如果尚不存在)。 如果removeChildren为True,则将删除状态对象中未引用的所有子级。 如果blockSignals为True,则在树完全还原之前不会发出任何信号。 这样可以防止信号处理程序响应部分重建的网络。

  • saveState(filter=None)[source]

    返回表示参数树整个状态的结构。 可以使用restoreState()从此结构还原树状态。 如果 filter 设置为‘user’, 那么只有用户可设置的数据将包含在返回状态中。

  • setDefault(val)[source]

    设置此参数的默认值。

  • setLimits(limits)[source]

    设置此参数可接受值的限制。 限制的格式取决于参数的类型,某些参数根本不使用限制。

  • setName(name)[source]

    尝试更改此参数的名称; 返回实际名称。 (该参数可能会拒绝更改名称或自动选择其他名称)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Verilog参数化是指在RTL(Register Transfer Level)设计中使用参数来灵活地定义和定制模块的行为和特性。参数可以在实例化模块时通过参数赋值来调整模块的功能。 在Verilog中,通过parameter关键字来声明参数,并在模块定义中使用这些参数来定义模块的行为。通过参数化,可以在设计阶段根据实际需求,动态地改变模块的功能,而不需要修改模块的源代码。 参数化可以实现设计的复用。通过改变参数的赋值,可以实例化出不同的模块,满足不同的需求。这样可以提高设计的灵活性和可维护性。 参数可以是基本数据类型,如整数或布尔类型,也可以是自定义的数据类型,如结构体。当参数是整数类型时,可以根据具体的值来控制模块的行为。当参数是布尔类型时,可以通过不同的赋值来打开或关闭特定的功能。 参数还可以用于控制模块实例中的信号位宽。通过将输入和输出端口的位宽定义为参数,可以灵活地调整模块的位宽,以适应不同的数据尺寸。 需要注意的是,参数是在编译时静态确定的,即模块实例化时参数的赋值是固定的。如果需要在运行时动态改变模块的行为,需要使用传参的方式来实现。 总之,参数化是Verilog中一种重要的技术,可以根据实际需求灵活地定义和定制模块的行为和特性。通过适当使用参数化,可以提高设计的效率和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值