Kivy开发:如何在.py文件访问canvas.before随机调整GridLayout内图像的画布尺寸
Kivy开发中GridLayout内随机单个图像尺寸修改失效问题
现有实现逻辑
KV文件定义部分
- 自定义
<ButOpcion>组件:在canvas.before层绘制固定250x250尺寸的Rectangle,加载资源data/img/letra_d/dragon.png - 自定义
<ContainerCaza>屏幕:- 在
canvas.before层加载背景图data/img/fondobosque.jpg - 屏幕内部嵌套竖向
BoxLayout,依次包含三类元素:提示文本Label、5列布局的GridLayout(内部放置10个id为but1至but10的ButOpcion组件)、触发页面跳转返回菜单的Button
- 在
Python代码定义部分
- 定义
ButOpcion为基础Widget的子类 - 定义
ContainerCaza为Screen的子类 - 编写
intruso方法,通过random.choice从10个组件中随机选中单个目标组件
现存问题
- 核心需求为随机修改GridLayout布局内10个图像中单个图像的显示尺寸,多次尝试实现方式均未达到预期效果,不清楚操作环节存在的问题
- 尝试通过修改
intruso方法选中的目标组件size属性实现尺寸调整,自定义的尺寸修改方法未实际生效 - 作为Python与Kivy开发新手,不清楚如何在.py文件中访问组件的
canvas.before节点完成对应操作,对相关实现逻辑存在较多困惑
内容的提问来源于stack exchange,提问作者David Sánchez Cruz
相关产品推荐
相关产品推荐

