改变分散'规模影响其工作逻辑 - Kivy

时间:2016-12-24 17:03:33

标签: python python-2.7 python-3.x kivy kivy-language

我正在尝试更改散点的大小,因此它可以与我放入散点图的网格元素大小相同。

为此我发现更改Scatter大小的方法是缩放,所以我在这里做了:

    gridscreen = GridLayout(rows = x-2)
        for y in self.listim:

            scatt = Scatter()
            scatt.scale = 2.5

            image = Image(source = y)
            scatt.add_widget(image)

            gridscreen.add_widget(scatt)

结果并不像我预期的那样安静,因为创建的每个Scatter的大小都很好,但Scatter现在不像以前那样工作(在我添加scatt.scale = 2.5之前),而不是所有的Image在Scatter中是连接的,特别是在Y轴上的那些:

只允许在x轴上进行翻译,因此我的问题似乎来自scatt.do_translation_y,但我没有找到解决此问题的方法。

我希望我确实解释了我的问题。

感谢您的时间^^

1 个答案:

答案 0 :(得分:0)

散布的大小将由布局定义 - 在你的情况下是GridLayout-所以剩下的只是为了使图像大小与散射相同 - 就像这样

在kv文件中:

<ScatterWithImage>:
     src: "some_path"
     Image:
         size: root.size
         stretch: True
         source: root.src

在python文件中:

 class ScatterWithImage(Scatter):
     src = StringProperty("some_path_to_an_image")
 gridlayout.add_widget(ScatterWithImage(src=y))