首页 > 解决方案 > 拉伸图像以适应 kivy 中的网格布局

问题描述

我试图让一个图像填满我的整个网格,但它会留下部分空白 - 即使在定义 allow_strech 和 keep_ratio 时也是如此。如何让我的图像填满整个网格?(在这种情况下,问题是宽度,因为高度很好,但我认为这与图像本身有关,而不是代码..)

蟒蛇代码:


import kivy
from kivy.lang import Builder
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.core.window import Window

GUI = Builder.load_file('style.kv')
# Window.size = (2224, 1668)


class NotebookScreen(GridLayout):

    def __init__(self, **kwargs):
        self.rows = 1
        super(NotebookScreen, self).__init__(**kwargs)



class MainApp(App):

    def build(self):
        return NotebookScreen()




if __name__ == "__main__":
    MainApp().run()


.kv 文件:

<NotebookScreen>
    FloatLayout:
        rows: 2
        GridLayout:
            size_hint: 1, .1
            pos_hint: {"top": 1, "left": 1}
            id: tool_bar
            cols: 1
            canvas:
                Color:
                    rgba: 0, 0, 1, 1
                Rectangle:
                    pos: self.pos
                    size: self.size
        GridLayout:
            id: notebook_grid
            size_hint: 1, .9
            pos_hint: {"top": .9, "left": 0}
            cols: 1
            Image:
                id: notebook_image
                source: 'images/notebook.jpg'
                allow_strech: True
                keep_ratio: False 
                pos: self.pos
                size_hint: 1, 1

标签: pythonkivykivy-language

解决方案


拼写错误:

allow_strech: True

应该:

allow_stretch: True

推荐阅读