2016-09-23 43 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