2016-09-23 46 views
0

我有一个对象为了

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阵列,并显示他们的IDS顺序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) 

这说明我:enter image description here

+0

你为什么在乎它被颠倒? – Juggernaut

+0

它总是有意义的,你写和从0读到X,为什么相反,哈哈? – LimoTuz

+0

我真的不知道它为什么对你很重要 – Juggernaut

回答

0

一个可能的特技将是:

y = 10 

for x in range(y): 
     bt = Button(text=' ', font_size=200, width=200, height=200, size_hint=(None, None), id=str(y-x)) 
     bt.bind(on_release=self.btn_pressed) 
     layout.add_widget(bt) 
+0

为什么当这应该是一个标准时需要技巧?来吧,我第一次看到这在Python中尤其是Kivy ...不存在一个正常的有序数组,为什么儿童数组颠倒了? – LimoTuz

+0

看看这个例子。 https://kivy.org/docs/api-kivy.uix.stacklayout.html – Juggernaut

+0

我应该设置方向吗?可能是 – LimoTuz

2

Kivy为了解决内部派遣的原因而将订单改为此处订单。它不必,但它是一个设计决定。

但是,这完全没有关系。如果你想存储你的对象在某个特定的结构中,那就自己来做。

+0

当然,我可以通过创建自己的数组或反转子数组来解决此问题。但你是如何做出这个设计决定的,我的意思是来吧,我还没有在其他任何地方看到过。 – LimoTuz

+0

你可以提到这至少在文件中,并把一些最佳做法,我不知道...但似乎并不正确,虽然这不是致命的例外... – LimoTuz

+0

你知道,这也耗尽了记忆在某个时刻,对?但无所谓,python不是内存友好的反正...... – LimoTuz