signal¶
警告
这部分内容涉及 JAnim 实现原理,可能较为复杂,若没有研究源码的需求,你应酌情阅读
- class janim.utils.signal.Signal(func: Callable[[Concatenate[T, P]], R])¶
基类:
Generic[T,P,R]- objects_with_slots: WeakSet = set()¶
- self_slot(func=None, /, *, key: str = '')¶
被修饰的方法会在
Signal触发时被调用
- self_refresh(func=None, *, key: str = '')¶
被修饰的方法会在
Signal触发时,标记需要重新计算
- self_refresh_with_recurse(*, recurse_up: bool = False, recurse_down: bool = False, key: str = '')¶
被修饰的方法会在
Signal触发时,标记需要重新计算并且会根据
recurse_up和recurse_down进行递归传递
- connect(sender: object, func: Callable, *, key: str = '') None¶
使
func会在Signal触发时被调用
- connect_refresh(sender: object, obj: object, func: Callable | str, *, key: str = '') None¶
使
func会在Signal触发时被标记为需要重新计算
- emit(sender: object, *args, key: str = '', **kwargs)¶