kivy - 减少 GridLayout 中列的宽度
问题描述
我有这个代码:
import kivy
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.image import Image
from kivy.uix.label import Label
from kivy.uix.button import Button
class TedeGrid(GridLayout):
def __init__(self, **kwargs):
super(TedeGrid, self).__init__(**kwargs)
self.cols = 3
self.img = Image(source='sriyantra.png')
self.add_widget(self.img)
self.add_widget(Label(text="HELLO"))
self.inside = GridLayout()
self.inside.cols = 1
self.add_widget(self.inside)
self.next_button = Button(text="Next")
self.inside.add_widget(self.next_button)
self.prev_button = Button(text="Prev")
self.inside.add_widget(self.prev_button)
class Tedegraph(App):
def build(self):
return TedeGrid()
if __name__ == "__main__":
Tedegraph().run()
我想减小第三列的宽度,例如为第一列宽度的 10%。
更好的是,如果没有按钮,但右侧将是一个小点击区域(对next
事件做出反应),左侧将是一个小点击区域(对prev
事件做出反应)
解决方案
我会使用大网格布局,我会放置较小的网格布局并使用调整每个较小网格布局的大小size_hint=(width, height)
如果您需要代码示例,能否请您在代码中添加您使用的照片,以便我可以正确运行它?
推荐阅读
- instagram - 如何根据最新的 instagram api 规则获取 instagram 访问令牌?
- javascript - 需要使用 Vue 获取点击的元素“名称”
- authentication - Nuxt Auth doesn't work with Google strategie
- mysql - 忽略唯一约束 MySql 中的特定字符串
- ios - SwiftUI NavigationBar not disappearing while scrolling
- mysql - laravel迁移中外键添加约束错误
- angularjs - 量角器,登录过程后脚本超时
- java - Kafka 消费者轮询仅第二次获取消息
- linux - Zenity:文件选择对话框 - 不区分大小写的文件类型过滤?
- python - yHat 的尺寸在向模型提供测试数据后发生变化,并且损失不断增加