Kivy Event 在哪里?
Posted onsunsl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kivy Event 在哪里?相关的知识,希望对你有一定的参考价值。
kivy 程序都是都需要继承APP基类
而App类在Libsite-packageskivyapp.py文件定义
from kivy.event import EventDispatcher
class App(EventDispatcher):
pass
找到Libsite-packageskivyevent.py 里面是这样定义的
import kivy._event
__doc__ = kivy._event.__doc__
EventDispatcher = kivy._event.EventDispatcher
ObjectWithUid = kivy._event.ObjectWithUid
Observable = kivy._event.Observable
又引用了Libsite-packageskivy_event.pxd , 而pxd文件只是个类似c里的头文件(接口声明), 真正的代码实现在
Libsite-packageskivy_event.cp36-win32.pyd (pxd描述参考)[https://cloud.tencent.com/developer/news/180987]
那为什么在pycharm 里查看时定义处时为什么会跳转到.PyCharm2018.3systempython_stubs498501734kivy_event.py 文件呢,
答案在这里:
https://stackoverflow.com/questions/24266114/pycharm-what-is-python-stubs
写就是说这个文件时pycahrm为我们根据pyd文件生成的,为方便调试代码, 在.PyCharm2018.3systempython_stubs498501734kivy\_event.py
文件都已经
有详细的说明了:
# encoding: utf-8
# module kivy._event
# from xxxxlibsite-packageskivy\_event.cp36-win32.pyd
# by generator 1.146
"""
Event dispatcher
================
All objects that produce events in Kivy implement the :class:`EventDispatcher`
which provides a consistent interface for registering and manipulating event
handlers.
.. versionchanged:: 1.0.9
Property discovery and methods have been moved from the
:class:`~kivy.uix.widget.Widget` to the :class:`EventDispatcher`.
"""
以上是关于Kivy Event 在哪里?的主要内容,如果未能解决你的问题,请参考以下文章