刚开始使用kivy框架,在kivy painting app tutorial中有以下代码行:
touch.ud['line'] = Line(points=(touch.x, touch.y))
有人可以说明
touch.ud
的确切含义吗?使用
print(help(touch.ud))
返回kivy.input.motionevent模块中有关EnhancedDictionary的帮助:
类EnhancedDictionary(builtins.dict)
...
将所有这些放在一起,仍然不确定发生了什么。有人可以特别解释一下“
ud
”部分。谢谢! 最佳答案
我们来看一下touch部分,它是提供事件on_touch_XXX
且为MotionEvent
的参数,因此,如果您要查找信息,则应转到文档的该部分,选中docs
,您将获得以下信息:
ud = None
用户数据字典。使用此词典可保存您自己的数据。
然后描述告诉我们,如果您要共享要在on_touch_xxx其他事件中使用的某些信息,则将其保存在该字典中是正确的:
def on_touch_XXX(self, touch):
touch.ud["some_info"] = some_value
def on_touch_YYY(self, touch):
value = touch.ud["some_info"]
print(value)
在特定示例的情况下,将保存在
on_touch_down
中创建的线的实例,因为on_touch_move
您需要它来添加更多点。关于python - Kivy:touch.ud是什么意思,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51841557/