我只是我在做什麼錯了,感謝您的擡頭和你的耐心:)多子實例
下面我創建的標籤對象的100個實例(來自類貼紙)並將它們作爲子項添加到根窗口小部件,但僅使用1個變量名稱,這是做事的正確方式,因爲在目前貼標類的接觸方法會觸發所有實例更改值,而不僅僅是我碰巧觸摸的實例。
# root widget creation
class rootwidget(FloatLayout):
def __init__(self, **kwargs):
super(rootwidget, self).__init__(**kwargs)
# sticker object, WIP , labeltype,pos,size place holders
class sticker(Label):
def __init__(self,**kwargs):
self.labeltype = [1,2,3,4,5,6,7,8,9]
self.xf = 0
self.yf = 0
super(sticker,self).__init__(**kwargs)
self.text = str(self.labeltype[random.randint(0,len(self.labeltype)-1)])
self.pos_hint = self.generateposhint()
self.size_hint = size_hint=(0.01,0.01)
# place holder for testing touch down, method to be more relevant once basics are nailed.
def on_touch_down(self,instance):
self.text = "T"
#main app
class demo(App):
def build(self):
self.root = root = rootwidget()
return self.root
#place holder loop. while testing ,to be moved into method
while i < 200:
lb = sticker()
self.root.add_widget(lb)
i = i + 1
if __name__=='__main__':
demo().run()
如果您參考代碼解釋了您的問題,那麼這將非常有幫助,如果您還標記了代碼以指明問題部分,那麼這樣做會更好。 – Marcin
道歉Marcin,我會記下下次注意,謝謝) – DeadZero
該死的,我試圖想出一個很好的魔戒玩笑這裏,就像「200個實例是在'while'下創建的,但是一個根統治他們所有人......「但我想不出有吸引力的東西: - /但認真地說,儘量做出一個好頭銜。不止一個'?'可能是你應該編輯它的一個指示器(除非它是一個LaTeX引用問題) –