我写了一个简单的kivy程序(如图),
就是在窗口上绘制了一个矩形,
我想要的效果是 这个矩形会随着我拖动窗口的大小而改变大小,
而现在我的代码是一个固定的矩形,
请教各位一下 如何才能达到我要的效果?
关于kivy绘制图形的问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
m0_54204465 2023-01-18 17:21关注如果你想要矩形随着窗口大小改变而改变大小,你需要在Kivy程序中绑定一些事件处理器。
为了实现这个效果,你需要在BoxLayoutWidget类中添加on_size函数。
该函数将在窗口大小改变时被调用,并且在这个函数中你可以重新设置矩形的大小。
首先,你需要在BoxLayoutWidget类中添加一个矩形变量,然后在_init_()函数中创建一个新的矩形,并将其存储在这个变量中。
然后,你需要在on_size()函数中设置矩形的size属性,以便它随着窗口大小改变而改变。
示例代码如下:
class BoxLayoutWidget(BoxLayout): def init(self, **kwargs): super().init(**kwargs) with self.canvas: Color(1, .5, .8, 1) self.rect = Rectangle(pos=(100, 100), size=(400, 100)) def on_size(self, *args): self.rect.size = self.size class MYApp(App): def build(self): return BoxLayoutWidget() MyApp().run()这样运行你的程序,你应该能看到矩形随着窗口大小改变而改变大小了。
本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用