Порядок объектов в StackLayout (Kivy)

у меня есть

layout = StackLayout() 

теперь я помещаю такие кнопки

 for x in range(9): # range() explanation: http://pythoncentral.io/pythons-range-function-explained/ bt = Button(text=' ', font_size=200, width=200, height=200, size_hint=(None, None), id=str(x+1)) bt.bind(on_release=self.btn_pressed) layout.add_widget(bt) 

проблема в том, что когда я просматриваю массив layout.children и показываю идентификаторы, они приходят в порядок 9,8,7,6,5,4,3,2,1 который 9,8,7,6,5,4,3,2,1 а не то, что я хочу. Как я могу получить их в правильном порядке? (Реверсирование массива не является решением)

Другой пример

У меня есть:

  self.layout = StackLayout() bt = Button(text='1', font_size=200, width=200, height=200, size_hint=(None, None), id="1") bt1 = Button(text='2', font_size=200, width=200, height=200, size_hint=(None, None), id="2") bt2 = Button(text='3', font_size=200, width=200, height=200, size_hint=(None, None), id="3") bt3 = Button(text='4', font_size=200, width=200, height=200, size_hint=(None, None), id="4") bt4 = Button(text='5', font_size=200, width=200, height=200, size_hint=(None, None), id="5") bt5 = Button(text='6', font_size=200, width=200, height=200, size_hint=(None, None), id="6") self.layout.add_widget(bt, 1) self.layout.add_widget(bt1, 2) self.layout.add_widget(bt2, 3) self.layout.add_widget(bt3, 4) self.layout.add_widget(bt4, 5) self.layout.add_widget(bt5, 6) 

И это показывает мне следующее: введите описание изображения здесь

2 Solutions collect form web for “Порядок объектов в StackLayout (Kivy)”

Kivy отменяет порядок здесь по причинам, связанным с внутренним приказом диспетчеризации. Это не обязательно, но это дизайнерское решение.

Однако это действительно не имеет значения. Если вы хотите сохранить свои объекты в определенной структуре, сделайте это самостоятельно.

возможный трюк:

 y = 10 for x in range(y): bt = Button(text=' ', font_size=200, width=200, height=200, size_hint=(None, None), id=str(yx)) bt.bind(on_release=self.btn_pressed) layout.add_widget(bt) 
Python - лучший язык программирования в мире.