跳转至

pyguiadapter.paramwidget

BaseParameterWidgetConfig dataclass

Bases: object

参数控件配置基类。提供了所有参数控件共有的可配置属性。

Source code in pyguiadapter\paramwidget.py
@dataclasses.dataclass(frozen=True)
class BaseParameterWidgetConfig(object):
    """
    参数控件配置基类。提供了所有参数控件共有的可配置属性。
    """

    default_value: Any = None
    """控件的默认值。"""

    label: Optional[str] = None
    """控件的标签。若不指定此属性,则使用参数名作为标签。"""

    description: Optional[str] = None
    """控件的描述文本。若不指定此属性,则从尝试从函数的docstring中获取对应参数的描述文本。"""

    default_value_description: Optional[str] = DEFAULT_VALUE_DESCRIPTION
    """使用默认值复选框的描述文本。当default_value为None或开发者明确指定显示默认值复选框时,默认值复选框才会显示。"""

    group: Optional[str] = None
    """参数分组名称。为None时,参见将被添加到默认分组。"""

    stylesheet: Optional[str] = None
    """参数控件的样式表。"""

    @classmethod
    @abstractmethod
    def target_widget_class(cls) -> Type["BaseParameterWidget"]:
        """
        目标控件类,即本配置类适用的参数控件类。子类必须实现此方法。

        Returns:
            目标控件类
        """
        pass

    @classmethod
    def new(cls, **kwargs) -> "BaseParameterWidgetConfig":
        return cls(**kwargs)

default_value: Any = None class-attribute instance-attribute

控件的默认值。

default_value_description: Optional[str] = DEFAULT_VALUE_DESCRIPTION class-attribute instance-attribute

使用默认值复选框的描述文本。当default_value为None或开发者明确指定显示默认值复选框时,默认值复选框才会显示。

description: Optional[str] = None class-attribute instance-attribute

控件的描述文本。若不指定此属性,则从尝试从函数的docstring中获取对应参数的描述文本。

group: Optional[str] = None class-attribute instance-attribute

参数分组名称。为None时,参见将被添加到默认分组。

label: Optional[str] = None class-attribute instance-attribute

控件的标签。若不指定此属性,则使用参数名作为标签。

stylesheet: Optional[str] = None class-attribute instance-attribute

参数控件的样式表。

target_widget_class() -> Type[BaseParameterWidget] abstractmethod classmethod

目标控件类,即本配置类适用的参数控件类。子类必须实现此方法。

Returns:

Type Description
Type[BaseParameterWidget]

目标控件类

Source code in pyguiadapter\paramwidget.py
@classmethod
@abstractmethod
def target_widget_class(cls) -> Type["BaseParameterWidget"]:
    """
    目标控件类,即本配置类适用的参数控件类。子类必须实现此方法。

    Returns:
        目标控件类
    """
    pass

BaseParameterWidget

Bases: QWidget

参数控件基类。定义了所有参数控件共有的接口。

ConfigClass: Type[_T] = NotImplemented class-attribute instance-attribute

参数控件对应的配置类。必须为BaseParameterWidgetConfig的子类。必须在子类中实现。

__init__(parent: Optional[QWidget], parameter_name: str, config: BaseParameterWidgetConfig)

构造函数。

Parameters:

Name Type Description Default
parent Optional[QWidget]

父控件

required
parameter_name str

参数名

required
config BaseParameterWidgetConfig

参数控件配置

required

build() -> BaseParameterWidget abstractmethod

构建参数控件。子类必须实现此方法。

Returns:

Type Description
BaseParameterWidget

参数控件实例

get_value() -> Any abstractmethod

从控件获取参数值。子类必须实现此方法。

Returns:

Type Description
Any

参数值

on_clear_parameter_error(parameter_name: Optional[str]) -> None

清除参数错误时回调。子类可重写此方法。

Parameters:

Name Type Description Default
parameter_name Optional[str]

参数名,若为None,表示清除所有参数错误。

required

Returns:

Type Description
None

无返回值

on_parameter_error(parameter_name: str, error: Any) -> None

参数错误时回调。子类可重写此方法。

Parameters:

Name Type Description Default
parameter_name str

参数名

required
error Any

错误信息

required

Returns:

Type Description
None

无返回值

set_value(value: Any) -> None abstractmethod

设置参数值。子类必须实现此方法。

Parameters:

Name Type Description Default
value Any

参数值

required

Returns:

Type Description
None

无返回值