У меня есть следующий код:
class MyGridLayout(GridLayout):
def __init__(self, **kwargs):
super(MyGridLayout, self).__init__(**kwargs)
class Board(Widget):
my_layout = ObjectProperty(None)
def __init__(self, **kwargs):
super(Board, self).__init__(**kwargs)
def on_my_layout(self, instance, value):
print self.my_layout.cols
class MyApp(App):
def build(self):
return Board()
if __name__ == '__main__':
MyApp().run()
А это мой kv-файл:
<Board>:
my_layout: my_layout
MyGridLayout:
id: my_layout
cols: 10
rows: 10
В методе on_my_layout
я хочу напечатать, сколько столбцов имеет мой экземпляр MyGridLayout. Но он всегда возвращает мне None. Если я хочу получить доступ к строкам, он также возвращает None. Что мне нужно изменить в моем коде Python или на моем языке kivy, чтобы получить доступ к правильным значениям строк и столбцов MyGridLayout
? Он должен вернуть rows = 10
и cols = 10
.