【问题标题】:Return from canvas.get_group() call in kivy从 kivy 中的 canvas.get_group() 调用返回
【发布时间】:2016-09-13 18:32:38
【问题描述】:

从指令组调用 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 做同样的事情吗?

【问题讨论】:

    标签: python kivy kivy-language


    【解决方案1】:

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

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

    【讨论】:

    • 我正在开发一个简单的绘图应用程序。这是用于在设计器屏幕上选择对象的选择框的一部分。我的意图是在移动实际对象之前将矩形用作要移动的选定对象的阴影。我只会弄乱定位和尺寸。它适用于单个对象,但尝试对多个选择执行此操作开始看起来是个坏主意。似乎考虑小部件而不是画布指令会更简单
    猜你喜欢
    • 2022-12-03
    • 2020-04-01
    • 2018-05-25
    • 1970-01-01
    • 2019-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    相关资源
    最近更新 更多