如何设置 Kivy GridLayout 宽度

How to set a Kivy GridLayout width

我是kivy初学者,需要创建两个GridLayout列。我想设置网格的第一列。并将最后一个列保留为默认值。可以吗?

我必须在哪里设置宽度?在 .py 文件或 .kv 文件中?

这是我的代码:

main.py

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.config import Config
from kivy.properties import ObjectProperty
from kivy.lang import Builder

Config.set('graphics', 'width', '920')
Config.set('graphics', 'height', '480')
Config.set('graphics', 'resizable', False)

from os import listdir
kv_path = '../views/mainView/'
for kv in listdir(kv_path):
     Builder.load_file(kv_path+kv)

class Container(FloatLayout, object):
     dispImg = ObjectProperty()

     def update(self, *args):
          self.dispImg = '../../images/placeholder.jpg'

class mainView(App):
     def build(self):
         container = Container()

         return container

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

main.kv

<Container>:
cols: 2

Image:
...
# I want to set this column width

BoxLayout:
...
# and leave this column width

你要做的是在第一项中设置一个固定的宽度,然后 size_hint_x 到 None。

GridLayout:
    cols:2
    Image:
        width: 200
        size_hint_x: None
    BoxLayout: