# Iris – Verwaltung von Events
## Event
```__init__```: Konstruktor, der eine beliebige Anzahl an Funktionspointern nimmt, die ans Event gebunden werden.
```add_function```: Bindet neue Funktionen an das Event.
```remove_function```: Entbindet Funktionen vom Event.
```emit```: Löst das Event aus und ruft alle Funktionen nacheinaner auf mit den dieser Funktion gegebenen Argumenten auf.
```__iadd__```: Selbe Funktion wie ```add_function```
```__isub__```: Selbe Funktion wie ```remove_function```
```__call__```: Selbe Funktion wie ```emit```
```__repr_```: Representationsstring des Events mit den gebundenen Funktionen.
```function```: Property-Attribut, das die Liste der gebundenen Funktionen liefert zur einfachen Manipulation.
## TypeEvent
```__init__```: Konstruktor, der die Typen nimmt, die akzeptiert werden können.
```emit```: Löst das Event aus. Wirft TypeError, falls falsche Typen vorliegen oder AttributeError.
```typen```: Property-Attribut, das die akzeptablen Typen liefert.
```__repr__```: Representationsstring des TypeEvents mit den Typen und den gebundenen Funktionen.
```__copy__```: Liefert eine Kopie des Objekts allerdings mit leerer Funktionspointerliste.
## Handler
```__init__```: Konstruktor, der den Handler initialisiert.
```get_event_names```: Liefert die Namen aller erstellten Events.
```remove```: Löscht das Event mit dem gegebenem Namen.
```__repr__```: Representationsstring mit den Namen der Events
Möglichkeiten ein neues Event zu erstellen mit:
- Dem Namen des Events
- Den zu bindenen Funktionen
* ```new```
* ```__setitem__```
Möglichkeiten ein Event zu löschen:
* ```remove```
* ```__delitem__```
* ```__delattr__```
Möglichkeiten ein Event von seinem Namen her zu erhalten:
* ```__getitem__```
* ```__getattr__```
## StaticHandler
Basisklasse, von der verschiedene Handler abgeleitet werden können, deren Attribute als Events aufgefasst werden.
### Syntax mit Typvorgabe:
```python
class Irgendwas(StaticHandler):
EVENT_1: Event
EVENT_2: Event
```
### Syntax mit None-Wert
```python
class Irgendwas(StaticHandler):
EVENT_1 = None
EVENT_2 = None
```
### Syntax mit Typ und None
```python
class Irgendwas(StaticHandler):
EVENT_1: Event = None
EVENT_2: EVENT = None
```
Statt ```None``` kann auch ```Event()``` verwendet werden.
Das macht allerdings keinen Unterschied.
### Syntax mit TypeEvent
```python
class IgendwasMitTypen(StaticHandler):
T_EVENT_1 = TypeEvent(int, str, int)
T_EVENT_2 = TypeEvent(str, int)
```
### Auslösen eines Events
```python
handler = Irgendwas()
handler.EVENT_1.add_function(print)
handler.EVENT_1.emit("Test")
```
## RecursiveHandler
Ein Dekorator, um eine Klasse dem Aufnehmen eines weiteren Handlers zu befähigen.
### Exceptions
Ein Auftreten der Exception ```AttributeError``` kann bedeuten, dass der Dekorator vergessen worden ist.
### Syntax
```python
@RecursiveHandler
class A(StaticHandler):
a1: Event
@RecursiveHandler
class B(StaticHandler):
b1: Event
class C(StaticHandler):
c1: Event
```
### Event erreichen
```python
a = A()
print(a.a1)
print(a.B.b1)
print(a.B.C.c1)
```
Die definierten Events können so angesprochen werden.
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共16个文件
py:7个
txt:4个
pkg-info:2个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
资源分类:Python库 所属语言:Python 资源全名:Iris-heureka-code-1.2.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源推荐
资源详情
资源评论
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![crx](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 16 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/277f6345dca0446498fbbc03843436aa_qq_38161040.jpg!1)
挣扎的蓝藻
- 粉丝: 13w+
- 资源: 15万+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)