一种面向对象的事件处理框架,其中事件由类注册,然后由单个对象广播。从特定对象监听事件很容易。

KeepMePosted的Python项目详细描述


该模块提供了一个面向对象的事件处理框架。在这个 框架中,事件由类注册,然后由个人广播 物体。从特定对象监听事件很容易。

安装

keepmposted可以从pypi安装:

$ pip install kemepo

您还可以直接从github下载源代码。代码是制定的 根据麻省理工学院的许可证。如果您发现代码有用并希望 改进,随时提出请求:

$ git clone https://github.com/kalekundert/KeepMePosted.git kemepo

简单示例

这个框架最重要的部分是dispatcher类和 event()装饰器。Dispatcher是要 广播事件,事件装饰器用于注册事件。

>>> from kemepo import Dispatcher, event
>>> class Button (Dispatcher):
        @event
        def on_press(self):
            print('Calling internal handler')

event()修饰的方法被认为是“内部处理程序”,不同于 来自任何“外部观察者”,稍后可以使用connect()附加。 当使用handle()触发事件时,将调用内部处理程序 在外部观察员面前。

>>> button = Button()
>>> button.connect(on_press=lambda: print('Calling external observer.'))
>>> button.handle('on_press')
Calling internal handler.
Calling external observer.

完整文档

此模块的完整文档由ReadTheDocs托管。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在windows上向doclet添加多个sourcepath?   java谷歌地图应用程序   java为以下场景创建正则表达式   Java文件通道异常   Java集合如何将文件对象列表转换为路径对象列表?   多线程生产者/消费者模型使用Java(同步),但始终运行同一线程   java如何为存储在ArrayList中的特定属性设置值?   java一次不能加载多个osm文件   使用java 8将map<String,map<Long,customeObject>>转换为list<customeObject>   java JDK包含哪些脚本语言解释器?   java为什么eclipse在这里生成语法错误?   多线程Javasocket异常:socket已关闭且值为空   java我想在Android活动中创建一个带有图像的可滚动文本列表。我应该用什么?   java实现编译时警告   java根据安卓 SQLite数据库中前一行的相同值递增特定值   java移动迭代器语句使代码可编译   java JVM终身/旧代已达到限制&服务器挂起   为什么我们不能在映射上使用迭代器(Java)?   xml如何映射JAXB中已有的JavaBean