Python Kivy,需要帮助来理解一种奇怪的技术。 self._object.clear() 等
Python Kivy, need help to understanding a strange technique. self._object.clear() etc
我对提出无法正确命名的问题感到内疚,因为我无法命名代码中使用的模式。
github 上有一个代码,我试图理解但未能理解。
https://github.com/kivy-garden/speedmeter/blob/master/kivy_garden/speedmeter/init.py
我不明白的模式在第128129行和第181、182行和许多其他地方。
大图是。
有一个class
class MyClassName(Widget):
有方法,例如
def _draw_this_and_that(self):
self._someName.clear()
add = self._someName.add
add(Color(rgba=get_color_from_hex(color)))
这个“_someName”在整个代码中只在我的代码示例的那两个地方找到。
我明白
add = self._someName.add
创建函数“add”,但为什么需要它?为什么不打电话
self._someName.add
代替?
我猜是
self._someName.clear()
是否会删除添加到“_someName”的所有内容,对吗?
完全看不懂
add(Color(rgba=get_color_from_hex(color)))
行得通(但行得通),然后绘制的任何内容都将使用该颜色。
我猜对了,如果我需要改变颜色(如果满足某些条件)那么我可以添加不同的颜色吗?
add(Color(rgba=get_color_from_hex(different_color)))
并且不要强调添加会导致内存泄漏,因为
self._someName.clear()
会处理吗?
我从来没有见过这样的模式。如果有人能解释它是如何工作的以及为什么,我会很高兴。
提前致谢!
_somenameIG
是在 __init__()
方法中创建的 canvas 个指令组:
add = self.canvas.add
for instructionGroupName in _ig:
ig = InstructionGroup()
setattr(self, '_%sIG' % instructionGroupName, ig)
add(ig)
因此,self._someName.clear()
正在清除一个 canvas 指令组,add()
方法向该组添加指令。
除此之外我想解决以下问题:
Pattern I don't understand is in lines 128,129 and...
根据其 documentation the attr. sectors
in line 130 是交替值和颜色的列表,其副本由 l
在本地存储,然后 color
值是(是)传给了InstructionGroup
。由于它被用作重绘机制,因此在再次绘制之前通过方法 clear
从 canvas 中删除指令组。
creates function "add" but why that is needed? why not calling...
这样做主要是为了防止 re-evaluation 进程。
我对提出无法正确命名的问题感到内疚,因为我无法命名代码中使用的模式。
github 上有一个代码,我试图理解但未能理解。 https://github.com/kivy-garden/speedmeter/blob/master/kivy_garden/speedmeter/init.py
我不明白的模式在第128129行和第181、182行和许多其他地方。
大图是。 有一个class
class MyClassName(Widget):
有方法,例如
def _draw_this_and_that(self):
self._someName.clear()
add = self._someName.add
add(Color(rgba=get_color_from_hex(color)))
这个“_someName”在整个代码中只在我的代码示例的那两个地方找到。
我明白
add = self._someName.add
创建函数“add”,但为什么需要它?为什么不打电话
self._someName.add
代替?
我猜是
self._someName.clear()
是否会删除添加到“_someName”的所有内容,对吗?
完全看不懂
add(Color(rgba=get_color_from_hex(color)))
行得通(但行得通),然后绘制的任何内容都将使用该颜色。
我猜对了,如果我需要改变颜色(如果满足某些条件)那么我可以添加不同的颜色吗?
add(Color(rgba=get_color_from_hex(different_color)))
并且不要强调添加会导致内存泄漏,因为
self._someName.clear()
会处理吗?
我从来没有见过这样的模式。如果有人能解释它是如何工作的以及为什么,我会很高兴。 提前致谢!
_somenameIG
是在 __init__()
方法中创建的 canvas 个指令组:
add = self.canvas.add
for instructionGroupName in _ig:
ig = InstructionGroup()
setattr(self, '_%sIG' % instructionGroupName, ig)
add(ig)
因此,self._someName.clear()
正在清除一个 canvas 指令组,add()
方法向该组添加指令。
除此之外
Pattern I don't understand is in lines 128,129 and...
根据其 documentation the attr. sectors
in line 130 是交替值和颜色的列表,其副本由 l
在本地存储,然后 color
值是(是)传给了InstructionGroup
。由于它被用作重绘机制,因此在再次绘制之前通过方法 clear
从 canvas 中删除指令组。
creates function "add" but why that is needed? why not calling...
这样做主要是为了防止 re-evaluation 进程。