[Python] Jeder Button macht die gleiche Ausgabe

06/25/2014 22:37 .Kibito#1
Hier der Ausschnitt hab auch die Definition von "Kategorie" mal hingeschrieben
Code:
Kategorie = {}
Code:
	def AddKategorie(self,string):
		x=30
		y=45
		split = string.split("|")
		for i in range(len(split)-1):
			self.Kategorie[i] = ui.Button()
			self.Kategorie[i].SetParent(self.Board)
			self.Kategorie[i].SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
			self.Kategorie[i].SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
			self.Kategorie[i].SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
			self.Kategorie[i].SetText(str(split[i]))
			self.Kategorie[i].SetPosition(x, y)
			self.Kategorie[i].SetEvent(lambda : chat.AppendChat(chat.CHAT_TYPE_INFO, "Ausgabe: "+str(i+1))	)
			self.Kategorie[i].Show()
			y+=40
Jeder Button gibt halt das letzte "i" aus.
06/25/2014 22:57 .Kori#2
Hm schau dir mal das an, villeicht hilft dir das:

Code:
for line in xrange(len(pos)):
			self.Buttons[str(line)] = ui.Button()
			self.Buttons[str(line)].SetParent(self)
			self.Buttons[str(line)].SetPosition(pos[line][0], pos[line][1])
			self.Buttons[str(line)].SetUpVisual("d:/ymir work/ui/public/large_Button_01.sub")
			self.Buttons[str(line)].SetOverVisual("d:/ymir work/ui/public/large_Button_02.sub")
			self.Buttons[str(line)].SetDownVisual("d:/ymir work/ui/public/large_Button_03.sub")
			self.Buttons[str(line)].SetText(ButtonText[line])
			self.Buttons[str(line)].SetEvent(lambda arg = line : self.__OnClickButton (arg))
			self.Buttons[str(line)].Show()