# Documentation - Class name: ImpactSetWidgetValue - Category: ImpactPack/Logic/_for_test - Output node: True - Repo Ref: https://github.com/ltdrdata/ComfyUI-Impact-Pack.git ImpactSetWidgetValue节点的'doit'方法旨在处理将不同数据类型赋值给指定的控件。它通过确定数据类型,然后将相应的值应用到控件上,抽象地管理设置控件值的复杂性,从而简化了在ImpactPack套件内与控件交互的过程。 # Input types ## Required - signal - ‘signal’参数对于节点的操作至关重要,因为它代表了触发控件值赋值过程的控制信号。节点要正确运行,其存在是必需的。 - Comfy dtype: any_typ - Python dtype: Any - node_id - ‘node_id’参数至关重要,因为它在系统中唯一标识节点,使得控件值赋值能够精确定位。它在确保控件被准确操作中起着关键作用。 - Comfy dtype: INT - Python dtype: int - widget_name - ‘widget_name’参数对于节点的功能至关重要,因为它指定了将被赋值的控件的名称。它是节点目的成功执行的关键信息。 - Comfy dtype: STRING - Python dtype: str ## Optional - boolean_value - 当提供‘boolean_value’参数时,允许节点将布尔值赋给指定的控件,增强了节点操作的多功能性。 - Comfy dtype: BOOLEAN - Python dtype: bool - int_value - 当使用‘int_value’参数时,使节点能够为控件设置整数值,有助于节点处理各种数据类型的能力。 - Comfy dtype: INT - Python dtype: int - float_value - 如果提供‘float_value’参数,指示节点将浮点数赋给控件,展示了节点管理不同数值格式的能力。 - Comfy dtype: FLOAT - Python dtype: float - string_value - 当提供‘string_value’参数时,使节点能够将字符串赋给控件,突出了节点在处理控件配置的字符串数据方面的灵活性。 - Comfy dtype: STRING - Python dtype: str # Output types - signal_opt - ‘signal_opt’输出参数代表节点在控件值赋值后可能返回的可选控制信号,表示操作的完成。 - Comfy dtype: any_typ - Python dtype: Any # Usage tips - Infra type: CPU # Source code ``` class ImpactSetWidgetValue: @classmethod def INPUT_TYPES(cls): return {'required': {'signal': (any_typ,), 'node_id': ('INT', {'default': 0, 'min': 0, 'max': 18446744073709551615}), 'widget_name': ('STRING', {'multiline': False})}, 'optional': {'boolean_value': ('BOOLEAN', {'forceInput': True}), 'int_value': ('INT', {'forceInput': True}), 'float_value': ('FLOAT', {'forceInput': True}), 'string_value': ('STRING', {'forceInput': True})}} FUNCTION = 'doit' CATEGORY = 'ImpactPack/Logic/_for_test' RETURN_TYPES = (any_typ,) RETURN_NAMES = ('signal_opt',) OUTPUT_NODE = True def doit(self, signal, node_id, widget_name, boolean_value=None, int_value=None, float_value=None, string_value=None): kind = None if boolean_value is not None: value = boolean_value kind = 'BOOLEAN' elif int_value is not None: value = int_value kind = 'INT' elif float_value is not None: value = float_value kind = 'FLOAT' elif string_value is not None: value = string_value kind = 'STRING' else: value = None if value is not None: PromptServer.instance.send_sync('impact-node-feedback', {'node_id': node_id, 'widget_name': widget_name, 'type': kind, 'value': value}) return (signal,) ```