我试图在kivy创建一个10x10网格的图像,但我发现所有的图像都被一个大的黑色隔开边界。它图像似乎保持不变的100x100像素。在
到目前为止,我使用的代码不包括.kv文件:
class SkyBox(BoxLayout):
def update(self):
for i in range(100):
self.children[len(self.children)-1].add_widget(Image(source=random.choice(["rock.png","rock2.png"]))
class SkyGame(Widget):
def run(self):
box=SkyBox()
box.add_widget(GridLayout(cols=10))
box.update()
return box
class SkyApp(App):
def build(self):
return SkyGame().run()
if __name__=="__main__":
SkyApp().run()
还必须注意的是,我的最终结果需要在update函数中创建多个boxlayouts。在
这可以用
^{pr2}$self.children[-1]
来写得更简洁明了。在默认情况下,图像小部件不会将图像拉伸到实际尺寸之外(在本例中,显然是100x100)。要更改此设置,只需设置其
allow_stretch
属性:如果您想让它在不同的方向上拉伸不同的量,您也可以添加
keep_ratio=False
。在相关问题 更多 >
编程相关推荐