Fórum Root.cz
		Hlavní témata => Vývoj => Téma založeno: pist  09. 03. 2011, 22:02:25
		
			
			- 
				Zdravím,
 
 Potřebuji vytvořit několik stejných buttonů a příjde mi nepraktické je vypisovat všechny zvlášť viz následující kód:
 self.btn1= Button(self.fr, width=4, height=1)
 self.btn1.grid(row=0, column=0)
 self.btn2 = Button(self.fr, width=4, height=1)
 self.btn2.grid(row=0, column=1)
 .
 .
 .
 self.btnX = Button(self.fr, width=4, height=1)
 self.btnX.grid(row=0, column=X)
 
 zkoušel jsem to řešit cyklem:
 for i in range(13):
 self.btn+str(i) = Button(self.fr, width=4, height=1)
 self.btn+str(i).grid(row=0, column=i)
 
 Bohužel mi to vyhodilo chybu.
 Jde to řešit nějakým podobným způsobem nebo musím vypisovat každé tlačítko zvlášť?
 
 Děkuji za odpovědi
- 
				for i in range(13):
 vars()['btn%s % i] = Button(self.fr, width=4, height=1)
 eval('btn%s' % i).grid(row=0, column=i)
 
 
 ale je to humus teda...  :D
- 
				Těch možností je víc. Například není nutné ty buttony ukládat do samostatných instančních proměnných, ale lze je uložit do seznamu.
 
 Nebo něco jako
 
 self.setattr('btn%u' % i, Button(self.fr, width=4, height=1))
 self.getattr('btn%u' % i).grid(row=0, column=i)
 
- 
				Syntakticky to mám blbě, ale jako návod by to mělo stačit.