2011-04-29 4 views
1
for pic,fn,xoff in [(self.PNew,self.New,0),(self.POpen,self.Open,0),(self.PSave,self.Save,0),(self.POrigin,self.SetOrigin,20),(self.PFiducial,self.SetFiducial,0),(self.PLine,self.AddLine,20),(self.PPoint,self.AddPoint,0),(self.PMove,self.AddMove,0),(self.PCircle,self.AddCircle,0),(self.PCall,self.AddCall,0)]: Button(ButtonRow,image=pic,command=fn).pack(side=LEFT,padx=(xoff,0)) 
+1

거룩한 어머니, 약 380 chars oO – delnan

+0

hehe 알아, 어쩌면 theres 더 짧은 같은 일을하는 다른 방법을 궁금해. 어쩌면 '자기를 데리고. 어떻게 든, 또는 제목과 사용에 더 비슷한 내 기능과 그림을 변경하십시오. 문자열 .. 난 아무 생각도 .. 그 이유는 내가 여기에 게시 : P – Symon

+0

일반적으로 백 슬래시 수동으로 코드 줄을 줄 바꿈 할 수 있습니다. – Nik

답변

15
items = [ 
    (self.PNew, self.New, 0), 
    (self.POpen, self.Open, 0), 
    (self.PSave, self.Save, 0), 
    (self.POrigin, self.SetOrigin, 20), 
    (self.PFiducial, self.SetFiducial, 0), 
    (self.PLine, self.AddLine, 20), 
    (self.PPoint, self.AddPoint, 0), 
    (self.PMove, self.AddMove, 0), 
    (self.PCircle, self.AddCircle, 0), 
    (self.PCall, self.AddCall, 0) 
] 
for pic, fn, xoff in items: 
    Button(ButtonRow, image=pic, command=fn).pack(side=LEFT, padx=(xoff, 0)) 
+3

쉼표 다음에 공백을 사용할 수 있습니다 (예, 모두). – delnan

+0

@ 델 난 : 좋은 전화. – recursive

3

... 바꿈의

def add_button(pic, fn, xoff=0): 
    Button(ButtonRow, image=pic, command=fn).pack(side=LEFT, padx=(xoff, 0)) 

add_button(self.PNew, self.New) 
add_button(self.POpen, self.Open) 
add_button(self.PSave, self.Save) 
add_button(self.POrigin, self.SetOrigin, 20) 
add_button(self.PFiducial, self.SetFiducial) 
add_button(self.PLine, self.AddLine, 20) 
add_button(self.PPoint, self.AddPoint) 
add_button(self.PMove, self.AddMove) 
add_button(self.PCircle, self.AddCircle) 
add_button(self.PCall, self.AddCall) 
+0

내가 생각하는 항목 목록을 갖고있는 것이 훨씬 더 깨끗합니다. – Claudiu