Return 来自 canvas.get_group() 调用 kivy

Return from canvas.get_group() call in kivy

从指令组调用 get_group() 返回的结果比我想要的要多。

我有以下代码:

for widget in self.selected:
    dx, dy = (
        widget.pos[0] - self.pos[0],
        widget.pos[1] - self.pos[1]
    )
    self.shadows.add(Rectangle(size=widget.size, pos=widget.pos, group='my_shadows'))

self.canvas.add(self.shadows)

print self.shadows.get_group('my_shadows')

这又会产生以下结果:

<kivy.graphics.context_instructions.BindTexture object at 0x7ff992377050>
<kivy.graphics.vertex_instructions.Rectangle object at 0x7ff99493e638>
<kivy.graphics.context_instructions.BindTexture object at 0x7ff9923770e8>
<kivy.graphics.vertex_instructions.Rectangle object at 0x7ff99493e6e0>

什么是 BindTextures 以及它们为什么通过 get_group() 返回?我只期望矩形。 如果我打算操纵我的矩形,我是否需要对我的 BindTextures 做同样的事情?

也许您已经注意到使用 Rectangle 您可以设置 Widget 的背景图像。这就是 BindTexture 的用途,因为它为可用作背景的图像路径提供 source 参数。

如果您不打算将这些矩形用作背景图像(来自文件,而不是使用 Color + Rectangle 绘制),我认为忽略纹理是安全的。