如何设置Kivy GridLayout宽度

时间:2018-07-04 06:38:15

标签: python kivy kivy-language

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

我必须在哪里设置宽度?在.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

1 个答案:

答案 0 :(得分:1)

您要做的是在第一项中设置固定宽度,并将size_hint_x设置为无。

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