我正在尝试更改散点的大小,因此它可以与我放入散点图的网格元素大小相同。
为此我发现更改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
,但我没有找到解决此问题的方法。
我希望我确实解释了我的问题。
感谢您的时间^^
答案 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))